Listas

A classe List<T> em C# é uma coleção genérica que armazena elementos de um tipo específico, permitindo adicionar, remover, aceder e manipular itens de maneira dinâmica e eficiente. Diferente dos arrays, as listas podem crescer ou diminuir conforme a necessidade do programa, tornando-as ideais para cenários em que a quantidade de elementos varia durante a execução.

Como Criar uma Lista

Sintaxe:

using System.Collections.Generic;

List<string> nomes = new List<string>(); // Lista vazia de strings

Podemos também inicializar a lista já com elementos:

List<int> numeros = new List<int> { 1, 2, 3, 4 };

Adicionar e Remover Elementos

  • Adicionar: Use o método Add() para inserir elementos ao final da lista.
  • Remover: Use Remove() para remover um elemento específico ou RemoveAt() para remover pelo índice.
nomes.Add("Ana");
nomes.Add("Maria");
nomes.Remove("Ana"); // Remove "Ana" da lista

Aceder Elementos

Os elementos são acedidos pelo índice, começando em 0:

Console.WriteLine(nomes[0]); // Exibe "Maria"

Percorrer uma Lista

Podemos percorrer a lista com um for ou foreach:

foreach (var nome in nomes)
{
Console.WriteLine(nome);
}

Outros Métodos Úteis

  • Count: retorna o número de elementos na lista.
  • Contains(item): verifica se o item existe na lista.
  • Sort(): ordena os elementos.
  • Insert(index, item): insere um item em uma posição específica.
  • Clear(): remove todos os elementos.
  • ToArray(): converte a lista num array.
Console.WriteLine($"A lista tem {nomes.Count} nomes.");
if (nomes.Contains("Maria"))
Console.WriteLine("Maria está na lista!");

Exemplo Completo

using System;
using System.Collections.Generic;

class Program
{
static void Main()
{
List<string> tarefas = new List<string>();
tarefas.Add("Estudar C#");
tarefas.Add("Ler um livro de programação");
tarefas.Add("Escrever um artigo");

tarefas.Remove("Ler um livro de programação");

foreach (var tarefa in tarefas)
Console.WriteLine(tarefa);

Console.WriteLine($"Total de tarefas: {tarefas.Count}");
}
}

Neste exemplo, criamos uma lista, adicionamos e removemos elementos, e percorremos a lista para exibir as tarefas restantes.

Quando Usar Listas

  • Quando o número de elementos pode variar durante a execução do programa.
  • Quando você precisa de métodos práticos para manipulação de dados (busca, ordenação, inserção, remoção).
  • Quando deseja flexibilidade e facilidade de uso em relação aos arrays tradicionais.