Um array reúne sob o mesmo identificador muitas variáveis do mesmo tipo, acessadas por um índice.
Todos os arrays em C# são criados dinamicamente, ou seja, em tempo de execução. O tamanho é sempre definido em tempo de execução.
A declaração de um array sempre tem “[]” depois do tipo da variável. Devemos sempre chamar new para inicializar a array. Note que o primeiro índice do array é sempre zero. Veja no exemplo abaixo um array de uma dimensão:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | using System; public class Class1 { const int Max = 5; public static void Main() { double[] Notas = new double[Max]; Notas[0] = 6; Notas[1] = 9.5; Notas[2] = 4.2; Notas[3] = 7.2; Notas[4] = 5.4; double Soma = 0; foreach (double Nota in Notas) { Soma = Soma + Nota; } Console.WriteLine(Soma / Max); } } |
Um array de várias dimensões pode ser declarado colocando vírgulas dentro dos colchetes. Você pode definir um array “dentado”, um array de arrays. A diferença no array “dentado” é que cada linha pode ter um tamanho diferente. Veja alguns exemplos:
1 2 3 4 5 6 7 | ... int[] al; // array de inteiro de uma dimensão int[,] a2; // array de inteiro de duas dimensões int[,,] a3; // array de inteiro de três dimensões int[][] j2; // array "dentado" (array de array) int[][][] j3; // array de array de array ... |
Todo array deve ser inicializado. Você pode simplesmente especificar o tamanho ou ainda atribuir valores:
1 2 3 4 5 6 7 8 9 10 11 | ... int[] al = new int[] {1, 2, 3}; int[,] a2 = new int[,] {{1, 2, 3}, {4, 5, 6}}; int[,,] a3 = new int[10, 20, 30]; int[] [] j2 = new int[3] []; j2[0] = new int[] {1, 2, 3}; j2[1] = new int[] {1, 2, 3, 4, 5, 6}; j2[2] = new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9}; int[] al = new int[] {1, 2, 3}; int[] al = {1, 2, 3}; ... |
A faixa dos arrays é verificada em tempo de execução. Se você indexar o array com um valor fora de faixa, uma exception é gerada.