quarta-feira, 21 de março de 2012

Array

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).

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

Nenhum comentário:

Postar um comentário

 
;