Matrizes Multidimensionais C#

Resumo : neste tutorial, você aprenderá sobre arrays multidimensionais C#, incluindo arrays 2D e 3D.

Introdução aos arrays multidimensionais C#

No tutorial de array , você aprendeu como criar um array com uma dimensão. C# permite definir um array com múltiplas dimensões.

Quando um array tem mais de uma dimensão, ele é chamado de array multidimensional.

O exemplo a seguir declara um array bidimensional (ou array 2D) de duas linhas e três colunas

int [,] matrix = new int[2, 3];Linguagem de código:  C#  ( cs )

A vírgula ( ,) entre colchetes indica o número de dimensões. Se você quiser declarar um array tridimensional (ou array 3D), você pode usar duas vírgulas ( ,) assim:

int[,,] tensor = new int[3, 3, 3];Linguagem de código:  C#  ( cs )

Inicializando matrizes multidimensionais C#

O exemplo a seguir mostra como inicializar um array bidimensional com duas linhas e três colunas:

int[,] matrix = new int[2, 3] {
    { 1, 2, 3 }, 
    { 4, 5, 6 }, 
};Linguagem de código:  C#  ( cs )

Ou você pode torná-lo mais curto, mas menos óbvio assim:

int[,] matrix = {
    { 1, 2, 3 }, 
    { 4, 5, 6 }, 
};Linguagem de código:  C#  ( cs )

E o exemplo a seguir mostra como inicializar um array de três dimensões 2, 2 e 3:

int[,,] tensor = new int[2,2,3] { 
    { { 1, 2, 3 }, { 4, 5, 6 } },
    { { 7, 8, 9 }, { 10, 11, 12 } } 
};Linguagem de código:  C#  ( cs )

É igual ao seguinte:

int[,,] tensor = { 
    { { 1, 2, 3 }, { 4, 5, 6 } },
    { { 7, 8, 9 }, { 10, 11, 12 } } 
};Linguagem de código:  C#  ( cs )

Acessando elementos do array

Para acessar um elemento na matriz multidimensional, você usa uma lista de dimensões separadas por vírgulas entre colchetes. A primeira dimensão começa em zero.

Por exemplo, o exemplo a seguir acessa a linha 0, coluna 1 de uma matriz bidimensional:

array2D[0,1]Linguagem de código:  C#  ( cs )

Da mesma forma, você pode especificar as dimensões em uma matriz 3D como esta:

array3D[0,1,2]Linguagem de código:  C#  ( cs )

O exemplo a seguir mostra como acessar os elementos na linha 0, coluna 0, linha 1 e coluna 2 de uma matriz 2D:

int[,] matrix = {
    {1,2,3},
    {4,5,6},
    {7,8,9},
};

// row 0 column 0
Console.WriteLine(matrix[0, 0]); // 1

// row 1 column 2
Console.WriteLine(matrix[1, 2]); // 6Linguagem de código:  C#  ( cs )

Saída:

1
6Linguagem de código:  C#  ( cs )

Obtendo o comprimento da dimensão

O método GetLength de uma matriz retorna o comprimento de uma dimensão. A primeira dimensão começa em zero. O exemplo a seguir declara um array 2D, inicializa seus elementos e envia todos os elementos para o console:

int[,] matrix = new int[3, 3];

// assign integers to the 2D array
for (int i = 0; i < matrix.GetLength(0); i++)
{
    for (int j = 0; j < matrix.GetLength(1); j++)
    {
        matrix[i, j] = i + j;
    }
}


// output the 2D array
for (int i = 0; i < matrix.GetLength(0); i++)
{
    for (int j = 0; j < matrix.GetLength(1); j++)
    {
        Console.Write($"{matrix[i, j]}");
        Console.Write(j < matrix.GetLength(1) - 1 ? "," : "");
    }
    Console.WriteLine();
}
Linguagem de código:  C#  ( cs )

Saída:

0,1,2
1,2,3
2,3,4Linguagem de código:  C#  ( cs )

Resumo

  • Uma matriz multidimensional é uma matriz com mais de uma dimensão.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *