Avatar ·

Todas as formas possíveis de inicializar arrays em C#: uma visão geral completa da sintaxe

Olá a todos! Acabei de começar a aprender C# e estou constantemente confuso com as diferentes maneiras de criar arrays. Parece que há várias opções: new int[] {1,2,3}, apenas {1,2,3}, new[] {1,2,3} e assim por diante. Já vi uma pergunta semelhante no StackOverflow, mas está tudo em inglês, e eu gostaria de uma explicação clara em português. Especificamente, estou interessado em: 1. Quais sintaxes existem para inicializar arrays em C#? 2. Em quais situações é melhor usar cada sintaxe? 3. Existem diferenças entre arrays unidimensionais, multidimensionais e jagged arrays? Vou dar um exemplo que me confunde. Por que isso funciona: ```csharp int[] arr1 = new int[3] { 1, 2, 3 }; int[] arr2 = new int[] { 1, 2, 3 }; int[] arr3 = new[] { 1, 2, 3 }; int[] arr4 = { 1, 2, 3 }; ``` Mas isso não: ```csharp int[] arr5; arr5 = { 1, 2, 3 }; // Erro de compilação ``` E mais: é possível criar um array em uma única linha e passá-lo diretamente para um método? Ficarei grato por uma resposta detalhada com exemplos.