ExpertiDict

C# · Essencial · Inglês · Técnico

target-typed new

/ˈtɑrɡɪt taɪpt nu/substantivo

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

Veja também

Todos os termos de C#