De forma simples um Array é um conjunto de elementos de um mesmo tipo de dado onde cada elemento desse conjunto é acessado através de um índice.
Um array é também conhecido como vetor (quando unidimensional) ou matriz (quando bidimensional).
Um array é também conhecido como vetor (quando unidimensional) ou matriz (quando bidimensional).
Array Unidimensional – Vetor
Como já dito na introdução do artigo um vetor é um array de uma única dimensão.
Em C# declaramos vetores da seguinte maneira:
string[] carros; //Array somente declarado, não inicializado e nem criado efetivamente
A sintaxe da declaração é simples, colocamos o tipo que queremos que o nosso array (vetor) se torne e à frente abrimos e fechamos colchetes ([]) e damos um nome (neste caso ‘carros’).
Agora ainda temos que cria-lo efetivamente e inicializa-lo, para isso fazemos o seguinte:
carros = new string[3] ; // vetor com 3 elementos, aqui estamos criando-o efetivamente
Com o Vetor em “mãos” (criado) nos falta inicializa-lo, ou seja, colocar valores em suas posições. Em C# as posições de um vetor é acessada através de um Índice que sempre começa com zero, veja:
carros[0] = “Palio”;
carros[1] = “Corsa”;
carros[2] = “Gol”;
Acima temos um array inicializado, todas suas posições (as 3) tem um valor, veja que vai de 0 a 2 e não de 1 a 3 (sempre a ultima posição vai ser igual a quantidade de elementos menos 1).
Vejamos como percorrer este vetor através de um Laço for:
for(int i = 0; i < 3; i++)
{
Console.WriteLine(carros[i].ToString());
}
Até o momento vimos como declarar, criar, inicializar e acessar um vetor, agora vamos ver como isso se aplica a matriz.
Array Bidimensional – Matriz
Vamos declarar um array de duas dimensões, veja:
int[,] array = new int[2, 2];
Na sintaxe acima declaramos um array bidimensional com duas linhas e duas colunas, ou seja, temos um array com 4 posições:
array[0,0] = 1;
array[0,1] = 2;
array[1,0] = 3;
array[1,1] = 4;
No Código acima temos a inicialização de cada posição da matriz.
Vamos ver agora como fazemos para percorrer cada posição da matriz, veja:
for(int i = 0; i < 2; i++)
{
for(int j = 0; j < 2; j++)
{
Console.WriteLine(array[i,j].ToString());
}
}
Ou seja, precisamos de um for dentro de outro, o primeiro percorre cada ‘linha’ enquanto o interno percorre as ‘colunas’.
Percorrendo um Array – foreach
Como já visto no artigo anterior podemos percorrer coleções com o loop foreach, vejamos como percorrer um vetor de inteiros:
int[] array = new int[2];
array[0] = 1;
array[1] = 2;
foreach(int valor in array)
{
Console.WriteLine(valor.ToString());
}
Veja como é muito mais simples, no loop foreach a variável ‘valor’ assume cada valor contido na coleção, no nosso caso o vetor. Ainda poderíamos percorrer qualquer outra coleção, como linhas de uma Data Table ou ainda uma lista genérica.
Artigo de Cleber Dantas