Introdução a Arrays e Coleções em C#
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
Postar um comentário