C# · Intermediário · Inglês · Técnico
collection expression
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); // 5Exemplos
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