C# · Essencial · Inglês · Técnico
anonymous type
Tipo imutável sem nome, criado com new { Prop = valor }. O compilador infere as propriedades, e é usado sobretudo para projetar resultados de consultas LINQ.
Onde usar
Aparece em Select de LINQ para pegar só alguns campos. Como não tem nome, só dá para usar com var e dentro do mesmo método; para devolver o dado, use um record ou uma tupla.
Em código
var p = new { Nome = "Ana", Idade = 30 };
Console.WriteLine(p.Nome);
// p.Idade = 31; // erro: somente leitura
var q = new { Nome = "Ana", Idade = 30 };
Console.WriteLine(p.Equals(q)); // TrueExemplos
I projected the query into an anonymous type.
Projetei a consulta em um tipo anônimo.
You can't return an anonymous type from a public API.
Não dá para devolver um tipo anônimo em uma API pública.
Cuidado
Não tente alterar as propriedades depois: elas são somente leitura.
Sinônimos
tipo anônimo