Com a introdução de expressões de coleção, há várias maneiras em C# de declarar uma matriz com elementos conhecidos:
Sintaxe de matriz antiga com apenas chaves
int[] array = {1, 2, 3, 4, 5};
Expressões de coleção
int[] array = [ 1, 2, 3, 4, 5 ];
Agora também é possível escrever matrizes vazias de diferentes maneiras:
Matriz vazia - Chaves
int[] array = { };
Matriz vazia - colchetes
int[] array = [];
Diferentes maneiras de declarar um array causam alguma confusão para mim. Gostaria de saber se há diferenças entre essas declarações? Há algum benefício em usar uma em vez da outra em alguns cenários? Há benefícios de desempenho que defenderiam o uso de uma declaração em vez da outra (mesmo que seja para alguns cenários muito específicos)?
ATUALIZAÇÃO Parte das abordagens de declaração de matriz foi removida para tornar a pergunta menos semelhante a outras perguntas e evitar confusão duplicada.