Páginas

Pesquisar este blog

quarta-feira, 27 de maio de 2015

Coleções em C#

Vou apresentar nessa postagem 3 tipos de coleções. Arrays de tamanho fixo, arrays de tamanho variável e filas. Esse conteúdo foi retirado de um conjunto de materiais de treinamento do Visual C#.NET Básico – CTXML, Tecnopuc, Centro de Inovação Microsoft PUCRS.

Então vamos começar: Dentro do Visual Studio.NET selecione o menu: File->New Project… Na lista Templates (modelos), selecione “ Console Application”. Digite um nome para o projeto e clique OK.

Dentro do método main coloque o seguinte código. Esse é um exemplo de um array de tamanho fixo.

string[] str = new string[3];
int iStr;
str[0] = "Um";
str[1] = "Dois";
str[2] = "Tres";
for (iStr = 0; iStr < 3; iStr++)
{
   Console.WriteLine("Indice = " + iStr + " & Valor = " + str[iStr]);
}

O exemplo a seguir é um tipo de Array de tamanho variável. Para esse exemplo será necessário o uso da biblioteca System.Collections.
Segue o exemplo:

ArrayList al = new ArrayList();
al.Add("Hello");
al.Add(new DateTime(2002,10,23));
al.Add(15);
Console.WriteLine(al[0]);
Console.WriteLine(al[1]);
Console.WriteLine(al[2]);

A classe ArrayList permite armazenamento de referencia para vários objetos. Mas é possível limitar o que se deseja armazenar. suponha que se deseja armazenar apenas strings. Iremos utilizar a classe genérica List onde T será substituído pelo tipo desejado.
Segue o exemplo abaixo:
List listaStrings = new List();
listaStrings.Add("Um");
listaStrings.Add("Hello");
listaStrings.Add("World");
Console.WriteLine(listaStrings[0]);
Console.WriteLine(listaStrings[1]);
Console.WriteLine(listaStrings[2]);

Pra finalizar segue o exemplo para inicializar e acessar dados de uma fila.

Queue q = new Queue();
q.Enqueue(".Net Framework");
q.Enqueue(new Decimal(123.456));
q.Enqueue(654.321);
Console.WriteLine(q.Dequeue());
Console.WriteLine(q.Dequeue());
Console.WriteLine(q.Dequeue());

E um exemplo para criar uma fila de inteiros;

Queue minhaFila = new Queue();
minhaFila.Enqueue(10);
minhaFila.Enqueue(200);
minhaFila.Enqueue(1000);

Console.WriteLine(minhaFila.Dequeue());
Console.WriteLine(minhaFila.Dequeue());
Console.WriteLine(minhaFila.Dequeue());

Bem espero que esses exemplos ajudem. Até!

Nenhum comentário:

Veja também: