C# · Essencial · Inglês · Técnico
target-typed new
Forma abreviada new() que deduz o tipo a ser criado a partir do tipo declarado do destino, evitando repetir o nome do tipo à direita da atribuição.
Onde usar
Aparece em campos e declarações com tipos longos, como Dictionary<string, List<int>> d = new();. Só funciona quando o tipo do destino é conhecido, então não substitui var.
Em código
Dictionary<string, List<int>> d = new();
List<int> l = new() { 1, 2, 3 };
Pessoa p = new("Ana");
Console.WriteLine(p);
record Pessoa(string Nome);Exemplos
With target-typed new you don't repeat the type.
Com o target-typed new você não repete o tipo.
You can't combine target-typed new with var.
Não dá para combinar target-typed new com var.
Cuidado
Não use com var: var x = new(); não compila, porque não há tipo declarado de onde deduzir.
Sinônimos
new() abreviado