English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Array de array de array C#
O array de array de array é um array de arrays. O array de array de array armazena arrays em vez de valores literais. Por exemplo, um array bidimensional é um array unidimensional de elementos idênticos, mas o array de array de array, cada array abaixo tem um número diferente de elementos.
O exemplo a seguir declara um array de array de array.
int[][] jArray1 = new int[2]; // pode conter dois arrays unidimensionais int[][,] jArray2 = new int[3][,]; // pode conter três arrays bidimensionais
No exemplo acima, o jArray1Pode armazenar até dois arrays unidimensionais. jArray2Pode armazenar até três arrays bidimensionais, o array [ e ] especifica o array bidimensional.
int[][] jArray = new int[2]; jArray[0] = new int[3]{1, 2, 3}; jArray[1] = new int[4]{4, 5, 6, 7 };
Você também pode inicializar o array de array de array no momento da declaração, conforme exemplo a seguir.
int[][] jArray = new int[2]{ new int[3]{1, 2, 3}, new int[4]{4, 5, 6, 7} }; jArray[0][0]; //Retorno1 jArray[0][1]; //Retorno2 jArray[0][2]; //Retorno3 jArray[1][0]; //Retorno4 jArray[11]; //Retorno5 jArray[12]; //Retorno6 jArray[13]; //Retorno7
Você pode usar dois loops for para acessar um array de array de array, conforme exemplo a seguir.
int[][] jArray = new int[2]{ new int[3]{1, 2, 3}, new int[4]{4, 5, 6, 7} }; for(int i=0; i<jArray.Length; i++) { for(int j=0; j < (jArray[i]).Length; j++) Console.WriteLine(jArray[i][j]); }
Abaixo está o array de array de array que armazena arrays bidimensionais, onde o segundo parênteses [ e ] representa um array bidimensional.
int[][,] jArray = new int[2][,]; jArray[0] = new int[3, 2] { { 1, 2 }, { 3, 4 }, { 5, 6 } }; jArray[1] = new int[2, 2] { { 7, 8 }, { 9, 10 } }; jArray[0][1, 1]; //Retorno4 jArray[11, 0]; //Retorno9 jArray[11, 1]; //Retorno10
Se você adicionar outro parênteses, então é um array de arrays.
int[][][] intJaggedArray = new int[2]] { new int[2][] { new int[3] { 1, 2, 3}, new int[2] { 4, 5} }, new int[1][] { new int[3] { 7, 8, 9} } }; Console.WriteLine(intJaggedArray[0][0][0]); // 1 Console.WriteLine(intJaggedArray[0][11]); // 5 Console.WriteLine(intJaggedArray[1][0][2]); // 9
No exemplo de array intercalado acima, três chaves de array[][][] representam arrays de arrays de arrays. Portanto, intJaggedArray conterá dois elementos, o que significa duas arrays. Agora, cada array ainda contém uma array (umimensional). intJaggedArray[0][0][0] aponta para o primeiro elemento da primeira array interna. intJaggedArray[1][0][2]] Aponta para o terceiro elemento da segunda array interna. A figura a seguir ilustra isso.