C # - Arrays

Uma matriz armazena uma coleção sequencial de tamanho fixo de elementos do mesmo tipo. Uma matriz é usada para armazenar uma coleção de dados, mas geralmente é mais útil pensar em uma matriz como uma coleção de variáveis ​​do mesmo tipo armazenadas em locais de memória contíguos.

Em vez de declarar variáveis ​​individuais, como número0, número1, ... e número99, você declara uma variável de matriz, como números e usa números [0], números [1] e ..., números [99] para representar variáveis ​​individuais. Um elemento específico em uma matriz é acessado por um índice.

Todas as matrizes consistem em locais de memória contíguos. O endereço mais baixo corresponde ao primeiro elemento e o endereço mais alto ao último elemento.

Declaração de matrizes

Para declarar uma matriz em C #, você pode usar a seguinte sintaxe -

datatype[] arrayName;

Onde,

  • tipo de dados é usado para especificar o tipo de elementos na matriz.

  • [] especifica a classificação da matriz. A classificação especifica o tamanho da matriz.

  • arrayName especifica o nome do array.

Por exemplo,

double[] balance;

Inicializando um Array

Declarar uma matriz não inicializa a matriz na memória. Quando a variável da matriz é inicializada, você pode atribuir valores à matriz.

Array é um tipo de referência, então você precisa usar o newpalavra-chave para criar uma instância da matriz. Por exemplo,

double[] balance = new double[10];

Atribuição de valores a uma matriz

Você pode atribuir valores a elementos individuais da matriz, usando o número do índice, como -

double[] balance = new double[10];
balance[0] = 4500.0;

Você pode atribuir valores à matriz no momento da declaração, conforme mostrado -

double[] balance = { 2340.0, 4523.69, 3421.0};

Você também pode criar e inicializar uma matriz, como mostrado -

int [] marks = new int[5]  { 99,  98, 92, 97, 95};

Você também pode omitir o tamanho da matriz, como mostrado -

int [] marks = new int[]  { 99,  98, 92, 97, 95};

Você pode copiar uma variável de matriz em outra variável de matriz de destino. Nesse caso, o destino e a origem apontam para o mesmo local de memória -

int [] marks = new int[]  { 99,  98, 92, 97, 95};
int[] score = marks;

Quando você cria uma matriz, o compilador C # inicializa implicitamente cada elemento da matriz com um valor padrão, dependendo do tipo de matriz. Por exemplo, para uma matriz int, todos os elementos são inicializados com 0.

Acessando Elementos de Matriz

Um elemento é acessado indexando o nome da matriz. Isso é feito colocando o índice do elemento entre colchetes após o nome da matriz. Por exemplo,

double salary = balance[9];

O exemplo a seguir demonstra a declaração de conceitos mencionados acima, atribuição e acesso a matrizes -

using System;

namespace ArrayApplication {
   class MyArray {
      static void Main(string[] args) {
         int []  n = new int[10]; /* n is an array of 10 integers */
         int i,j;

         /* initialize elements of array n */
         for ( i = 0; i < 10; i++ ) {
            n[ i ] = i + 100;
         }
         
         /* output each array element's value */
         for (j = 0; j < 10; j++ ) {
            Console.WriteLine("Element[{0}] = {1}", j, n[j]);
         }
         Console.ReadKey();
      }
   }
}

Quando o código acima é compilado e executado, ele produz o seguinte resultado -

Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109

Usando o loop foreach

No exemplo anterior, usamos um loop for para acessar cada elemento do array. Você também pode usar umforeach declaração para iterar por meio de uma matriz.

using System;

namespace ArrayApplication {
   class MyArray {
      static void Main(string[] args) {
         int []  n = new int[10]; /* n is an array of 10 integers */
         
         /* initialize elements of array n */
         for ( int i = 0; i < 10; i++ ) {
            n[i] = i + 100;
         }
         
         /* output each array element's value */
         foreach (int j in n ) {
            int i = j-100;
            Console.WriteLine("Element[{0}] = {1}", i, j);
         }
         Console.ReadKey();
      }
   }
}

Quando o código acima é compilado e executado, ele produz o seguinte resultado -

Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109

Arrays C #

Seguem alguns conceitos importantes relacionados a array que devem ser claros para um programador C # -

Sr. Não. Conceito e descrição
1 Matrizes multidimensionais

C # oferece suporte a matrizes multidimensionais. A forma mais simples da matriz multidimensional é a matriz bidimensional.

2 Matrizes denteadas

C # oferece suporte a arrays multidimensionais, que são arrays de arrays.

3 Passando matrizes para funções

Você pode passar para a função um ponteiro para uma matriz, especificando o nome da matriz sem um índice.

4 Matrizes de parâmetros

Isso é usado para passar um número desconhecido de parâmetros para uma função.

5 A classe Array

Definido no namespace System, é a classe base para todos os arrays e fornece várias propriedades e métodos para trabalhar com arrays.