Introdução a Arrays e Coleções em C#

Arrays vs Coleções em C# - Entenda a Diferença!

No mundo da programação, uma das tarefas mais comuns é armazenar e manipular conjuntos de dados. Em C#, temos duas formas super populares de lidar com isso: os Arrays e as Coleções.

Apesar de ambos servirem para agrupar dados, eles têm características bem diferentes. Bora entender?

O que é um Array?

Um Array é uma estrutura de dados que armazena um conjunto fixo de elementos do mesmo tipo.

Cada item é acessado por um índice que começa em 0.

Como Declarar um Array:

int[] numeros = new int[5]; // Array de inteiros com 5 posições

Todos os elementos iniciam com o valor padrão do tipo escolhido. No caso de int, o valor inicial é 0.

Inicializando com Valores:

int[] numeros = new int[] { 1, 2, 3, 4, 5 };

Acessando e Modificando:

Console.WriteLine(numeros[0]); // Exibe 1

Console.WriteLine(numeros[4]); // Exibe 5

numeros[0] = 10;

Console.WriteLine(numeros[0]); // Agora exibe 10

Limitação: O tamanho é fixo! Se quiser adicionar mais itens... vai precisar criar um novo array.

O que são Coleções?

Coleções são estruturas de dados mais flexíveis. Elas permitem que você adicione e remova elementos de forma dinâmica!

As coleções fazem parte das namespaces System.Collections e System.Collections.Generic.

Principais Tipos de Coleções:

  • List<T>
  • Dictionary<TKey, TValue>
  • Queue<T>
  • Stack<T>

1. List<T>

Uma List<T> é uma lista de elementos de um tipo específico, mas com tamanho dinâmico!

List<int> listaNumeros = new List<int>();

listaNumeros.Add(10);

listaNumeros.Add(20);

listaNumeros.Add(30);

Console.WriteLine(listaNumeros[0]); // Exibe 10

listaNumeros.Remove(20);

foreach (int numero in listaNumeros)

{

    Console.WriteLine(numero);

}

Principais métodos: Add(), Remove(), Count, Clear()

2. Dictionary<TKey, TValue>

O Dictionary trabalha com pares chave/valor, super útil quando queremos buscar um item por uma chave única.

Dictionary<int, string> produtos = new Dictionary<int, string>();

produtos.Add(1, "Teclado");

produtos.Add(2, "Mouse");

produtos.Add(3, "Monitor");

Console.WriteLine(produtos[2]); // Exibe "Mouse"

Principais métodos: Add(), Remove(), ContainsKey(), TryGetValue()

3. Queue<T>

Uma Queue funciona como uma fila: o primeiro a entrar é o primeiro a sair (FIFO).

Queue<string> fila = new Queue<string>();

fila.Enqueue("Primeiro");

fila.Enqueue("Segundo");

fila.Enqueue("Terceiro");

Console.WriteLine(fila.Dequeue()); // Exibe "Primeiro"

Principais métodos: Enqueue(), Dequeue(), Peek()

4. Stack<T>

A Stack é o contrário da fila: o último a entrar é o primeiro a sair (LIFO).

Stack<string> pilha = new Stack<string>();

pilha.Push("Primeiro");

pilha.Push("Segundo");

pilha.Push("Terceiro");

Console.WriteLine(pilha.Pop()); // Exibe "Terceiro"

Principais métodos: Push(), Pop(), Peek()

Quando Usar Arrays ou Coleções?

  • Use Arrays quando souber exatamente o tamanho fixo do seu conjunto de dados.
  • Use Coleções quando precisar de flexibilidade e manipulação dinâmica.

Conclusão

Arrays são ótimos para situações simples e fixas.

Coleções são ideais quando os dados podem mudar de tamanho.

Agora que você conhece as diferenças, escolha a estrutura certa e bora codar!

Comentários

Postagens mais visitadas