C# · Essencial · Inglês · Técnico
object initializer
Sintaxe com chaves após new que atribui propriedades e campos acessíveis na criação do objeto, sem exigir um construtor para cada combinação de valores.
Onde usar
Deixa a construção de DTOs e configurações legível. Combinado com required e init, garante que os campos essenciais sejam preenchidos na criação.
Em código
var c = new Cliente { Nome = "Ana", Id = 3 };
var ids = new List<int> { 1, 2, 3 };
Console.WriteLine(c.Nome + ids.Count);
class Cliente {
public string Nome { get; set; } = "";
public int Id { get; set; }
}Exemplos
Just use an object initializer instead of another constructor.
Use um object initializer em vez de outro construtor.
The collection initializer calls Add under the hood.
O collection initializer chama Add por baixo dos panos.
Cuidado
Não substitui validação: o construtor roda antes das atribuições, então invariantes que dependem das propriedades precisam ser checadas depois ou garantidas com required.
Sinônimos
inicializador de objeto