0Pricing
C# Academy · Aula

Iterando coleções

Listas, vetores e dicionários.

Iterando coleções é uma aula grátis de C# Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de C# Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de C# Academy inclui 4 aulas no total.

Coleções que podem ser percorridas

Muitos tipos do C# podem ser percorridos com foreach: vetores, List<T>, dicionários e muito mais.

Todos aceitam iteração porque implementam uma interface comum. Você não precisa conhecer os detalhes para usá-los.

Percorrendo um vetor

Os vetores têm um tamanho fixo definido quando são criados.

Você pode percorrer um vetor de qualquer tipo de elemento da mesma maneira.

double[] prices = { 9.99, 4.50, 19.00 };
foreach (var p in prices)
{
    Console.WriteLine(p);
}

Percorrendo uma lista

Uma List<T> pode crescer e diminuir. É uma das coleções mais comuns.

Percorrê-la tem exatamente a mesma aparência que percorrer um vetor.

var fruits = new List<string> { "apple", "pear" };
foreach (var f in fruits)
{
    Console.WriteLine(f);
}

Contando durante a iteração

Às vezes, você quer um contador manual dentro de foreach.

Declare uma variável antes do laço e incremente-a a cada passagem.

var items = new List<string> { "a", "b", "c" };
int i = 0;
foreach (var item in items)
{
    Console.WriteLine(i + ": " + item);
    i++;
}

Percorrendo um dicionário

Um Dictionary<K,V> armazena pares de chave e valor.

Percorrê-lo fornece um KeyValuePair com .Key e .Value.

var ages = new Dictionary<string, int>
{
    ["Ada"] = 36,
    ["Linus"] = 54
};
foreach (var pair in ages)
{
    Console.WriteLine(pair.Key + "=" + pair.Value);
}

Chaves e valores de um dicionário

Se você precisar apenas das chaves ou apenas dos valores, use as propriedades .Keys ou .Values.

Cada uma delas também é uma coleção que você pode percorrer.

foreach (var name in ages.Keys)
{
    Console.WriteLine(name);
}

Percorrendo um HashSet

Um HashSet<T> armazena valores únicos. As duplicatas são ignoradas.

Você pode percorrê-lo com foreach, mas a ordem não é garantida.

var tags = new HashSet<string> { "c#", "dotnet", "c#" };
foreach (var t in tags)
{
    Console.WriteLine(t);
}

Iteração aninhada

Você pode colocar um foreach dentro de outro para percorrer uma coleção de coleções.

Isso percorre cada row e depois cada valor dessa row.

int[][] grid = { new[] {1, 2}, new[] {3, 4} };
foreach (var row in grid)
{
    foreach (var v in row)
    {
        Console.WriteLine(v);
    }
}

Criando um resultado

Um padrão comum é percorrer uma coleção e adicionar itens transformados a outra.

Aqui, duplicamos cada número e armazenamos o resultado em uma nova lista.

var nums = new List<int> { 1, 2, 3 };
var doubled = new List<int>();
foreach (var n in nums)
{
    doubled.Add(n * 2);
}
Console.WriteLine(string.Join(",", doubled));

Coleções empty

Se uma coleção não tiver elementos, o corpo de foreach simplesmente nunca será executado.

Nenhum erro ocorrerá. Isso torna foreach seguro mesmo quando uma lista pode estar empty.

var empty = new List<int>();
foreach (var x in empty)
{
    Console.WriteLine("never printed");
}
Console.WriteLine("done");

IEnumerable: O elo comum

Toda coleção iterável implementa IEnumerable<T>.

Esse é o contrato do qual foreach depende. Por causa dele, a mesma sintaxe de laço funciona com matrizes, listas, conjuntos e dicionários.

Verificação rápida

Teste sua compreensão sobre como percorrer coleções.

Recapitulação

Você viu como foreach funciona com matrizes, listas, dicionários e conjuntos.

Eles compartilham o contrato IEnumerable<T>, portanto um único estilo de laço funciona com todos. Coleções empty são seguras, e dicionários fornecem pares de chave e valor.

Perguntas Frequentes

A aula “Iterando coleções” é grátis?

Sim — o texto completo de “Iterando coleções” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de C# Academy, atualize para CoddyKit PRO. O curso de C# Academy inclui 4 aulas no total.

O que vou aprender em “Iterando coleções”?

Listas, vetores e dicionários. Você pratica C# Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar C# Academy?

Nenhuma experiência prévia é necessária. C# Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Iterando coleções”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de C# Academy?

Sim. Cada aula de C# Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. O laço foreach
  2. Iterando coleções
  3. break e continue
  4. Erros comuns de iteração
← Voltar para C# Academy