C# - Matrizes
Um array 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.
Declarando 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 da matriz.
Por exemplo,
double[] balance;
Inicializando uma matriz
Declarar um array não inicializa o array na memória. Quando a variável de matriz é inicializada, você pode atribuir valores à matriz.
Array é um tipo de referência, então você precisa usar o novo palavra-chave para criar uma instância da matriz. Por exemplo,
double[] balance = new double[10];
Atribuindo valores a uma matriz
Você pode atribuir valores a elementos individuais da matriz, usando o número de índice, como −
double[] balance = new double[10]; balance[0] = 4500.0;
Você pode atribuir valores ao array no momento da declaração, como mostrado −
double[] balance = { 2340.0, 4523.69, 3421.0};
Você também pode criar e inicializar um array, 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, tanto o destino quanto 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 da matriz
Um elemento é acessado indexando o nome do array. 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 os conceitos mencionados acima:declaração, atribuição e acesso a arrays −
Demonstração ao vivo
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 foreach Ciclo
No exemplo anterior, usamos um loop for para acessar cada elemento do array. Você também pode usar um foreach instrução para iterar através de uma matriz.
Demonstração ao vivo
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
Matrizes C#
Seguem alguns conceitos importantes relacionados ao array que devem ser claros para um programador C# -
Nº Sr. | Conceito e Descrição |
---|---|
1 | Matrizes multidimensionais C# oferece suporte a matrizes multidimensionais. A forma mais simples do array multidimensional é o array bidimensional. |
2 | Matrizes irregulares C# oferece suporte a matrizes multidimensionais, que são matrizes de matrizes. |
3 | Passando arrays para funções Você pode passar para a função um ponteiro para um array especificando o nome do array 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 de matriz Definido no namespace System, é a classe base para todos os arrays e fornece várias propriedades e métodos para trabalhar com arrays. |
Linguagem C
- Matrizes C#
- Matriz irregular em C#
- Passando array para uma função na programação C++
- Passar arrays para uma função em C
- Relação entre arrays e ponteiros
- Copiar Matrizes Java
- Matrizes em C++ | Declare | Inicializar | Ponteiro para exemplos de matriz
- Alocação dinâmica de matrizes em C++ com exemplo
- Tutorial Java Arrays:Declare, Crie, Inicialize [Exemplo]
- MATLAB - Matrizes