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
- O laço foreach
- Iterando coleções
- break e continue
- Erros comuns de iteração