Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Linguagem C

Matriz multidimensional C#

Matriz multidimensional C#


Neste tutorial, aprenderemos sobre o array multidimensional em C# usando o exemplo do array bidimensional.

Antes de aprendermos sobre os arrays multidimensionais, certifique-se de conhecer o array unidimensional em C#.

Em um array multidimensional, cada elemento do array também é um array. Por exemplo,

int[ , ] x = { { 1, 2 ,3}, { 3, 4, 5 } };

Aqui, x é um array multidimensional que tem dois elementos:{1, 2, 3} e {3, 4, 5} . E cada elemento da matriz também é uma matriz com 3 elementos.

Matriz bidimensional em C#


Um array bidimensional consiste em arrays unidimensionais como seus elementos. Pode ser representado como uma tabela com um número específico de linhas e colunas.

Aqui, linhas {1, 2, 3} e {3, 4, 5} são elementos de um array 2D.

1. Declaração de matriz bidimensional


Veja como declaramos um array 2D em C#.
int[ , ] x = new int [2, 3];

Aqui, x é uma matriz bidimensional com 2 elementos. E cada elemento também é uma matriz com 3 elementos.

Então, todos juntos, o array pode armazenar 6 elementos (2 * 3 ).

Nota:A vírgula simples [ , ] representa que a matriz é bidimensional.

2. Inicialização de matriz bidimensional


Em C#, podemos inicializar um array durante a declaração. Por exemplo,
int[ , ] x = { { 1, 2 ,3}, { 3, 4, 5 } };

Aqui, x é um array 2D com dois elementos {1, 2, 3} e {3, 4, 5} . Podemos ver que cada elemento do array também é um array.

Também podemos especificar o número de linhas e colunas durante a inicialização. Por exemplo,
int [ , ] x = new int[2, 3]{ {1, 2, 3}, {3, 4, 5} };

3. Acessar elementos da matriz 2D


Usamos o número de índice para acessar elementos de uma matriz 2D. Por exemplo,
// a 2D array
int[ , ] x = { { 1, 2 ,3}, { 3, 4, 5 } };

// access first element from first row
x[0, 0];  // returns 1

// access third element from second row
x[1, 2];  // returns 5

// access third element from first row
x[0, 2];  // returns 3

Exemplo:matriz 2D C#

using System;

namespace MultiDArray {
  class Program {
    static void Main(string[] args) {
           
        //initializing 2D array
       int[ , ] numbers = {{2, 3}, {4, 5}};
 	 
        // access first element from the first row
       Console.WriteLine("Element at index [0, 0] : "+numbers[0, 0]);
  	 
        // access first element from second row
       Console.WriteLine("Element at index [1, 0] : "+numbers[1, 0]);
    }
  }
}



Saída
Element at index [0, 0] : 2
Element at index [1, 0] : 4

No exemplo acima, criamos um array 2D chamado numbers com linhas {2, 3} e {4, 5} .

Aqui, estamos usando os números de índice para acessar os elementos da matriz 2D.
  • numbers[0, 0] - acessar o primeiro elemento da primeira linha (2 )
  • numbers[1, 0] - acesse o primeiro elemento da segunda linha (4 )

Alterar elementos da matriz


Também podemos alterar os elementos de um array bidimensional. Para alterar o elemento, simplesmente atribuímos um novo valor a esse índice específico. Por exemplo,
using System;

namespace MultiDArray {
  class Program {
    static void Main(string[] args) {

    int[ , ] numbers = {{2, 3}, {4, 5}};
 	 
     // old element
    Console.WriteLine("Old element at index [0, 0] : "+numbers[0, 0]);
 	 
      // assigning new value
    numbers[0, 0] = 222;
  	 
      // new element
    Console.WriteLine("New element at index [0, 0] : "+numbers[0, 0]);
    }
  }
}

Saída
Old element at index [0, 0] : 2
New element at index [0, 0] : 222

No exemplo acima, o valor inicial no índice [0, 0] é 2 . Observe a linha,
// assigning new value
numbers[0, 0] = 222;

Aqui, estamos atribuindo um novo valor 222 no índice [0, 0] . Agora, o valor no índice [0, 0] é alterado de 2 para 222 .

Iterando C# Array usando Loop

using System;

namespace MultiDArray {
  class Program  {
    static void Main(string[] args)  {

      int[ , ] numbers = { {2, 3, 9}, {4, 5, 9} };
   	 
      for(int i = 0; i < numbers.GetLength(0); i++)  { 
        Console.Write("Row "+ i+": ");

        for(int j = 0; j < numbers.GetLength(1); j++)  { 
          Console.Write(numbers[i, j]+" ");
 
        }
        Console.WriteLine(); 
  
      }  
    }
  }
}

Saída
Row 0: 2 3 9
Row 1: 4 5 9

No exemplo acima, usamos um loop for aninhado para iterar pelos elementos de um array 2D. Aqui,
  • numbers.GetLength(0) - fornece o número de linhas em uma matriz 2D
  • numbers.GetLength(1) - fornece o número de elementos na linha

Observação :Também podemos criar um array 3D. Tecnicamente, uma matriz 3D é uma matriz que possui várias matrizes bidimensionais como seus elementos. Por exemplo,
int[ , , ] numbers = { { { 1, 3, 5 }, { 2, 4, 6 } },
                                 { { 2, 4, 9 }, { 5, 7, 11 } } };

Aqui, [ , , ] (2 vírgulas) denota a matriz 3D.

Linguagem C

  1. Coeficientes de resistência específica
  2. Matrizes C#
  3. Matriz irregular em C#
  4. Passando array para uma função na programação C++
  5. Copiar Matrizes Java
  6. Java NavigableSet Interface
  7. Matrizes em C++ | Declare | Inicializar | Ponteiro para exemplos de matriz
  8. Alocação dinâmica de matrizes em C++ com exemplo
  9. Tutorial de coleções de C# com exemplos
  10. MATLAB - Matrizes