ExpertiDict

C# · Intermediário · Inglês · Técnico

collection expression

/kəˈlɛkʃən ɪkˈsprɛʃən/substantivo

Sintaxe do C# 12 com colchetes, como [1, 2, 3], que cria arrays, listas, spans e outras coleções conforme o tipo de destino; o operador .. espalha elementos.

Onde usar

Aparece em code review como substituta de new List<int> { } e de Array.Empty<T>(). O compilador escolhe a construção mais eficiente para o tipo de destino.

Em código

int[] a = [1, 2, 3];
List<string> b = ["x", "y"];
int[] c = [..a, 4, 5];       // espalha a
Span<int> s = [7, 8];
Console.WriteLine(c.Length);  // 5

Exemplos

Use a collection expression instead of new List.

Use uma collection expression em vez de new List.

The spread operator copies the elements into the new array.

O operador spread copia os elementos para o novo array.

Cuidado

Não pense que é só açúcar para List: o tipo vem do destino, então int[] x = [1] cria um array e List<int> y = [1] cria uma lista.

Sinônimos

expressão de coleção

Veja também

Todos os termos de C#