multidimensional arrays
Este tutorial explica tudo sobre arrays multidimensionais e arrays irregulares em C # com exemplos. Matrizes multidimensionais também são conhecidas como matrizes retangulares:
Exploramos tudo sobre arrays e arrays unidimensionais em nosso tutorial anterior.
Neste tutorial, aprenderemos sobre matrizes multidimensionais e matrizes denteadas em C # em detalhes, juntamente com exemplos.
=> Explore nossos tutoriais detalhados de treinamento C # aqui
O que você aprenderá:
Matrizes C # multidimensionais
Matrizes multidimensionais também são conhecidas como matrizes retangulares. Arrays multidimensionais podem ser classificados em arrays bidimensionais ou tridimensionais.
Ao contrário das matrizes unidimensionais, onde os dados são armazenados em uma maneira sequencial linear, uma matriz multidimensional armazena dados em formato tabular, ou seja, na forma de linhas e colunas. Esse arranjo tabular de dados também é conhecido como matriz.
Matrizes bidimensionais
A forma mais simples de matriz multidimensional é uma matriz bidimensional. Uma matriz bidimensional pode ser formada empilhando várias matrizes unidimensionais juntas. A figura a seguir ajudará a entender melhor o conceito.
A imagem acima é uma representação gráfica da aparência do array bidimensional. É denotado por ter uma linha e uma coluna. Portanto, cada bloco de construção da matriz bidimensional será feito do índice que representa o número da linha e o número da coluna.
As matrizes multidimensionais são declaradas como a matriz unidimensional, com a única diferença sendo a inclusão de vírgulas dentro do colchete para representar linhas, colunas, etc.
string( , ) strArray = new string(2,2);
Agora, vamos dar uma olhada em um exemplo para inicializar uma matriz bidimensional.
Uma matriz 2-D é declarada por
string ( , ) fruitArray = new string (2,2) { {“apple” , “mango”} , /* values for row indexed by 0 */ {“orange”, “banana”} , /* values for row indexed by 1 */ };
Por exemplo, digamos que se meu elemento de array tem linha “i” e coluna “j”, então podemos acessá-lo usando o seguinte array de índice (i, j).
string ( , ) fruitArray = new string (2,2) { {“apple” , “mango”} , /* values for row indexed by 0 */ {“orange”, “banana”} , /* values for row indexed by 1 */ }; /* output for the elements present in array*/ for (int i = 0; i <2; i++) { for (int j = 0; j < 2; j++) { Console.WriteLine('fruitArray({0},{1}) = {2}', i, j, fruitArray(i,j)); } } Console.ReadKey();
O resultado do seguinte programa será:
fruitArray (0,0) = maçã
fruitArray (0,1) = manga
fruitArray (1.0) = laranja
fruitArray (1,1) = banana
Explicação:
A primeira parte do programa é a declaração do Array. Declaramos um array do tipo string de tamanho de linha 2 e tamanho de coluna 2. Na próxima parte, tentamos acessar o array usando o loop for.
Usamos um loop for aninhado para acessar os valores. O loop for externo fornece o número da linha, ou seja, ele começará com a linha 'zero' e, em seguida, seguirá em frente. O loop for interno define o número da coluna. Com cada número de linha passado pelo primeiro loop for, o segundo loop for atribuirá um número de coluna e acessará os dados da célula.
Matrizes irregulares em C #
Outro tipo de array disponível com C # é Jagged Array. Uma matriz denteada pode ser definida como uma matriz que consiste em matrizes. Os arrays irregulares são usados para armazenar arrays em vez de outros tipos de dados.
Uma matriz denteada pode ser inicializada usando dois colchetes, onde o primeiro colchete denota o tamanho da matriz que está sendo definida e o segundo colchete indica a dimensão da matriz que será armazenada dentro da matriz denteada.
Declaração Jagged Array
Conforme discutido, uma matriz irregular pode ser inicializada pela seguinte sintaxe:
string( )( ) stringArr = new string(2)( );
Uma matriz denteada pode armazenar várias matrizes com comprimentos diferentes. Podemos declarar uma matriz de comprimento 2 e outra matriz de comprimento 5 e ambas podem ser armazenadas na mesma matriz denteada.
Elemento de preenchimento dentro da matriz denteada
Vamos primeiro inicializar um Jagged Array.
arrayJag(0) = new string (2) ; arrayJag(1) = new string (3) ;
No exemplo acima, inicializamos um array irregular do tipo string com índice “0” e “1” contendo um array de tamanho definido dentro do colchete. O 0º índice contém uma matriz do tipo string de comprimento 2 e o índice “1” contém uma matriz do tipo string de comprimento 3.
Foi assim que inicializamos um array. Vamos agora inicializar e colocar os valores dentro de uma matriz denteada.
arrayJag(0) = new string (2) {“apple”, “mango”}; arrayJag(1) = new string (3) {“orange”, “banana”, “guava”};
Portanto, conforme mostrado no exemplo acima, a matriz denteada também pode ser declarada com valores. Para adicionar valores, colocamos uma chave após o array irregular declarado com a lista de valores.
Também é possível inicializar a matriz denteada ao declará-la.
Isso pode ser feito usando a abordagem a seguir.
string()() jaggedArray = new string (2)() { new string() {“apple”, “mango”}, new string() {“orange”, “banana”, “guava”} };
No exemplo acima, definimos um array Jagged com o nome “jaggedArray” com tamanho 2 e, dentro da chave, definimos e declaramos seus arrays constituintes.
Recuperar dados de uma matriz irregular
Até agora, aprendemos como colocar dados dentro de uma matriz Jagged. Agora, discutiremos o método para recuperar dados de uma matriz Jagged. Usaremos o mesmo exemplo que discutimos anteriormente e tentaremos recuperar todos os dados desse array.
string()() jaggedArray = new string (2)() { new string() {“apple”, “mango”}, new string() {“orange”, “banana”, “guava”} }; /* retrieve value from each array element */ for (int i = 0; i O resultado do seguinte programa será:
maçã manga
laranja banana goiaba
Explicação:
como fazer o teste cruzado do navegador manualmente
Usamos dois loops for para atravessar os elementos. O primeiro loop for definiu o índice para a matriz Jagged. Outro loop for aninhado foi usado para atravessar o array presente no índice de array denteado dado, então imprimimos o resultado no console.
Pontos para lembrar:
- Uma matriz denteada é uma matriz de matrizes. ou seja, ele armazena matrizes como seus valores.
- A matriz denteada lançará exceção fora do intervalo se o índice especificado não existir.
Conclusão
Neste tutorial, aprendemos sobre arrays Jagged e Multidimensional em C #. Aprendemos como declarar e inicializar um array bidimensional. Também criamos um programa simples para recuperar dados de um array bidimensional.
Em seguida, discutimos em detalhes sobre o array Jagged, que é um array de arrays.
Uma matriz Jagged é única em si mesma, pois armazena matrizes como valores. Arrays irregulares são bastante semelhantes a outros arrays, com a única diferença sendo o tipo de valor que armazena.
=> Tutoriais de treinamento C # GRATUITOS para todos
Leitura recomendada
- Matrizes em STL
- Matriz C #: como declarar, inicializar e acessar uma matriz em C #?
- Arrays multidimensionais em C ++
- Arrays C ++ com exemplos
- Usando arrays com funções em C ++
- Arrays VBScript: usando funções DIM, REDIM, Split e Ubound Array
- Inserir vários documentos no MongoDB usando matrizes
- DataTypes Java, Loops, Arrays, Switch e Assertions