IRONSOFTWAREHOME
ATUALIZAÇÕES DO DESENVOLVEDOR

Objetos anônimos em C# (Como funciona para desenvolvedores)

Curtis Chau
Curtis Chau
Updated: 21 de abril de 2026

Introdução ao Objeto Anônimo

Em C#, os tipos anônimos fornecem um mecanismo para encapsular propriedades públicas somente leitura em um único objeto de tipo anônimo sem a necessidade de definir explicitamente uma declaração de classe formal. São úteis para criar estruturas de dados de uso único. Esses são tipos gerados pelo compilador que derivam diretamente de System.Object, encapsulando propriedades de objetos de forma eficiente e servindo como contêineres de dados leves e imutáveis. Esses tipos são classes seladas onde o compilador infere e gera automaticamente o nome do tipo, que permanece inacessível no nível do código-fonte. Também vamos descobrir o IronPDF como uma biblioteca PDF para projetos .NET .

Principais características

  • Os tipos anônimos têm capacidades estritamente limitadas:
  • As propriedades são implementadas automaticamente como públicas e somente leitura dentro da definição de propriedade de um tipo anônimo.
  • Os usuários não podem definir explicitamente métodos, eventos ou outros membros de classe, como os métodos Equals ou GetHashCode, dentro delas.
  • Não pode ser inicializado com valores nulos, funções anônimas ou tipos ponteiro, garantindo a integridade dos tipos anônimos.

Casos de uso comuns

Operações LINQ

Objetos de tipo de dados anônimos se destacam em expressões de consulta LINQ, particularmente em cláusulas select para objetos de tipo anônimo, onde retornam com eficiência subconjuntos de propriedades específicos de objetos maiores. Essa abordagem otimiza o uso da memória criando objetos temporários que contêm apenas os dados necessários.

Agrupamento de dados temporários

Elas servem como contêineres eficientes para estruturas de dados temporárias, quando a criação de uma classe formal seria excessiva. Isso é particularmente útil para transformações de dados de curta duração ou cálculos intermediários.

Encapsulamento de propriedade

O tipo de dados anônimo oferece uma maneira clara de agrupar propriedades de objetos relacionados usando propriedades somente leitura. O compilador garante a segurança de tipos, mantendo ao mesmo tempo uma sintaxe concisa para o acesso às propriedades.

Sintaxe e Estrutura

A criação de tipos anônimos segue um padrão específico usando a palavra-chave var juntamente com o operador new e a sintaxe do inicializador de objetos. O compilador gera automaticamente um nome de tipo que permanece inacessível no nível do código-fonte.

var person = new { FirstName = "Iron", LastName = "Dev", Age = 35 }; // public int age in this anonymous type

Regras de inicialização de propriedades

O compilador impõe regras rígidas para a inicialização de propriedades em tipos anônimos. Todas as propriedades devem ser inicializadas durante a criação do objeto e não podem receber valores nulos ou ponteiros. Uma vez inicializadas, os valores das propriedades podem ser acessados ​​usando a notação de ponto padrão, mas não podem ser modificados após a inicialização devido à sua natureza somente leitura.

Inferência e Correspondência de Tipos

var person1 = new { Name = "Iron", Age = 30 };
var person2 = new { Name = "Dev", Age = 25 };

O compilador gera informações de tipo idênticas para tipos anônimos com nomes de propriedade, tipos e ordem correspondentes. Isso permite a compatibilidade de tipos entre instâncias, que podem ser usadas em coleções ou passadas como parâmetros de método dentro do mesmo assembly.

Tipos Anônimos Aninhados

Os tipos de dados anônimos suportam estruturas aninhadas complexas com propriedades de objeto do tipo anônimo. Isso é útil para a criação de representações hierárquicas de dados:

var student = new {
    Id = 1,
    PersonalInfo = new {
        Name = "James",
        Contact = new {
            Email = "james@email.com",
            Phone = "123-456-7890"
        }
    },
    Grades = new { Math = 95, Science = 88 }
};

Operações de Cobrança

Os tipos anônimos se destacam em cenários que envolvem manipulação de coleções e transformação de dados:

var items = new[] {
    new { ProductId = 1, Name = "Laptop", Price = 1200.00m },
    new { ProductId = 2, Name = "Mouse", Price = 25.99m },
    new { ProductId = 3, Name = "Keyboard", Price = 45.50m }
};

IronPDF: Biblioteca PDF em C#

IronPDF é uma biblioteca poderosa para gerar, editar e gerenciar documentos PDF em aplicações .NET . Ao trabalhar com C#, os desenvolvedores frequentemente usam objetos anônimos para estruturas de dados leves e ad hoc, especialmente em cenários onde a criação de uma classe inteira não é necessária. Esses objetos anônimos podem ser utilizados perfeitamente com o IronPDF para criar documentos PDF dinamicamente . Isso ajuda a criar uma solução flexível para fluxos de trabalho rápidos de conversão de dados em PDF. Aqui está um exemplo para ilustrar como o IronPDF funciona com objetos anônimos:

Exemplo: Usando objetos anônimos para preencher um PDF

Imagine que você tem uma lista de dados de vendas que deseja exibir como uma tabela em um PDF. Em vez de criar uma classe formal, você pode usar um objeto anônimo para formatar rapidamente os dados para renderização.

using IronPdf;
using System;
using System.Linq;

class Program
{
    static void Main()
    {
        // Set your IronPDF license key here
        License.LicenseKey = "Your-Licence-Key";

        // Sample data using anonymous objects
        var salesData = new[]
        {
            new { Product = "Laptop", Quantity = 2, Price = 1200.50 },
            new { Product = "Smartphone", Quantity = 5, Price = 800.00 },
            new { Product = "Headphones", Quantity = 10, Price = 150.75 }
        };

        // Create an HTML string dynamically using the anonymous object data
        var htmlContent = @"
        <html>
        <head><style>table {border-collapse: collapse;} th, td {border: 1px solid black; padding: 5px;}</style></head>
        <body>
        <h1>Sales Report</h1>
        <table>
            <thead>
                <tr>
                    <th>Product</th>
                    <th>Quantity</th>
                    <th>Price</th>
                </tr>
            </thead>
            <tbody>
                " +
            string.Join("", salesData.Select(item =>
                $"<tr><td>{item.Product}</td><td>{item.Quantity}</td><td>{item.Price:C}</td></tr>")) +
            @"
            </tbody>
        </table>
        </body>
        </html>";

        // Generate the PDF
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);

        // Save the PDF
        pdf.SaveAs("SalesReport.pdf");
        Console.WriteLine("PDF generated successfully!");
    }
}

C# Objeto Anônimo (Como Funciona para Desenvolvedores): Figura 1 - Saída do console do exemplo de código acima

Conclusão

C# Objeto Anônimo (Como Funciona para Desenvolvedores): Figura 2 - Página de Licenciamento do IronPDF

Os tipos anônimos em C# oferecem uma maneira flexível e eficiente de criar estruturas de dados temporárias sem a necessidade de declarações formais de classe. São particularmente úteis ao trabalhar com consultas LINQ, transformações de dados e bibliotecas como o IronPDF. A combinação de tipos anônimos com os recursos de geração de PDF do IronPDF oferece uma solução poderosa para criar PDFs dinâmicos e orientados a dados com sobrecarga mínima de código.

O IronPDF permite que os desenvolvedores testem seus recursos por meio de um período de avaliação gratuito , facilitando a exploração de suas capacidades em seus aplicativos .NET . As licenças comerciais começam em $999 e concedem acesso a todo o conjunto de recursos, incluindo a renderização HTML-para-PDF de alta performance, edição de PDF e recursos de segurança.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

...
Leia mais

Artigos relacionados

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.