HOWTO · Csharp
Diferença entre um array denteada e um array multidimensional em C#
um array denteada pode ter matrizes de tamanhos diferentes em cada índice, enquanto um array multidimensional só pode ter matrizes das mesmas dimensões em cada índice.
Nesta página
Este tutorial discutirá as diferenças e semelhanças entre um array irregular e um array multidimensional em C#.
Matrizes irregulares em C#
Uma matriz denteada é um array de arrayes em C#. Ele pode constituir matrizes de tamanhos diferentes. O exemplo de código a seguir nos mostra como podemos declarar um array irregular em C#.
namespace jagged_array_vs_multidimensional_array {
class Program {
static void Main(string[] args) {
int[][] jaggedArray = new int [3][];
jaggedArray[0] = new int[1];
jaggedArray[1] = new int[2];
jaggedArray[2] = new int[3];
}
}
}
No código acima, criamos o array irregular jaggedArray de tamanho 3, o que significa que o jaggedArray é um array de 3 arrays. Essas 3 matrizes estão no índice 0, 1 e 2 do jaggedArray. É claro a partir do exemplo que todas essas matrizes são de tamanhos diferentes.
Matrizes multidimensionais em C#
Uma matriz multidimensional é um array retangular em C#. Ele só pode ter um número fixo de elementos em cada dimensão. O exemplo de código a seguir nos mostra como podemos declarar um array multidimensional em C#.
namespace jagged_array_vs_multidimensional_array {
class Program {
static void Main(string[] args) {
int[,] mArray = new [3, 3]
}
}
}
No código acima, criamos o array multidimensional mArray com o tamanho 3,3, o que significa que ele tem três arrays internos e cada um deles tem um tamanho de elementos 3.
Matrizes denteadas versus matrizes multidimensionais em C#
As matrizes denteadas devem ser preferidas às matrizes multidimensionais convencionais devido à sua flexibilidade em C#. Por exemplo, se tivermos que armazenar os hobbies de uma pessoa, a abordagem preferencial seria usar um array denteada porque nem todos têm o mesmo número de hobbies. A mesma coisa vale para interesses e muitas outras coisas.