English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
O C# suporta até32dimensões de vetores multidimensionais. As multidimensionais podem ser declaradas adicionando vírgulas dentro dos colchetes. Por exemplo, [ , ] declara um vetor bidimensional, [ , , ] declara um vetor tridimensional, [ , , ,] declara um vetor quadridimensional, etc. Portanto, no vetor multidimensional, o número de vírgulas = o número de dimensões-1.
int[, ,] arr2d; // vetor bidimensional int[, ,] arr3d; // vetor tridimensional int[, ,] arr4d; // vetor quadridimensional int[, , , ,] arr5d; // vetor quintidimensional
Vamos entender o vetor bidimensional. Abaixo está a inicialização do vetor bidimensional.
int[, ,] arr2d = new int[3,2]{ {1, 2}, {3, 4}, {5, 6} }; //ou int[, ,] arr2d = { {1, 2}, {3, 4}, {5, 6} };
No exemplo de vetor bidimensional acima, [3,2]define o número de linhas e colunas. A primeira coluna representa o número de linhas, e a segunda coluna define o número de colunas. A imagem a seguir demonstra o vetor bidimensional dividido em linhas e colunas.
Os seguintes valores de acesso do vetor bidimensional.
int[, ,] arr2d = new int[3,2]{ {1, 2}, {3, 4}, {5, 6} }; arr2d[0, 0]; //Retorna1 arr2d[0, 1]; //Retorna2 arr2d[1, 0]; //Retorna3 arr2d[1, 1]; //Retorna4 arr2d[2, 0]; //Retorna5 arr2d[2, 1]; //Retorna6 //arr2d[3, 0]; //lança um erro de tempo de execução, porque não há quarta linha
No exemplo acima, o valor do vetor bidimensional pode ser acessado através dos índices de linha e coluna [índice de linha, índice de coluna]. Portanto, [0, 0] retorna a primeira linha e primeira coluna[1, 1]o valor, e retorna o valor da segunda linha e segunda coluna.
Agora, vamos entender o vetor tridimensional. Abaixo está a declaração e inicialização do vetor tridimensional.
int[, ,] arr3d1 = new int[1, 2, 2]{ { { 1, 2} 3, 4} }; int[, ,] arr3d2 = new int[2, 2, 2]{ { {1, 2}3, 4} }, { {5, 6}7, 8} }; int[, ,] arr3d3 = new int[2, 2, 3]{ { { 1, 2, 3}4, 5, 6} }, { { 7, 8, 9}10, 11, 12} }; arr3d2[0, 0, 0]; // Retorna1 arr3d2[0, 0, 1]; // Retorna2 arr3d2[0, 1, 0]; // Retorna3 arr3d2[0, 1, 1]; // Retorna4 arr3d2[1, 0, 0]; // Retorna5 arr3d2[1, 0, 1]; // Retorna6 arr3d2[1, 1, 0]; // Retorna7 arr3d2[1, 1, 1]; // Retorna8
como você pode ver no exemplo acima, arr3d1do[1,2,2]especificar que ele conterá o vetor bidimensional [2,2uma linha dentro do [arr3d2especificar o número de dimensões[2,2,2representa o contido do vetor bidimensional [2,2duas linhas. Portanto, a primeira coluna representa o número de linhas do vetor bidimensional interno.
Agora, veja a matriz quadridual abaixo.
int[,,,] arr4d1 = new int[1, 1, 2, 2]{ { { { 1, 2} 3, 4} } }; arr4d1[0, 0, 0, 0]; // Retorna1 arr4d1[0, 0, 0, 1]; // Retorna2 arr4d1[0, 0, 1, 0]; // Retorna3 arr4d1[0, 0, 1, 1]; // Retorna4 int[,,,] arr4d2 = new int[1, 2, 2, 2]{ { { {1, 2}3, 4} }, { {5, 6}7, 8} } }; arr4d2[0, 0, 0, 0]; // Retorna1 arr4d2[0, 0, 0, 1]; // Retorna2 arr4d2[0, 0, 1, 0]; // Retorna3 arr4d2[0, 0, 1, 1]; // Retorna4 arr4d2[0, 1, 0, 0]; // Retorna5 arr4d2[0, 1, 0, 1]; // Retorna6 arr4d2[0, 1, 1, 0]; // Retorna7 arr4d2[0, 1, 1, 1]; // Retorna8
No exemplo acima, o array quadridual arr4d1Especificar[1、1、2、2], o que significa que ele contém uma linha da matriz tridimensional.
Da mesma forma, você pode declarar e inicializar5dimensão,6Matriz vetorial e no máximo32Matriz vetorial.