Loops Foreach em C#: Itere Arrays e Coleções com Facilidade
Loops Foreach em C#
Descubra como o loop foreach simplifica a iteração sobre arrays e coleções em C#, aumentando legibilidade e performance.
Em C#, o loop foreach oferece uma alternativa mais limpa e expressiva ao loop for tradicional ao trabalhar com arrays, listas e outras coleções. Ele manipula indexação automaticamente, tornando seu código mais fácil de ler e menos propenso a erros.
Antes de mergulhar, revise estes tópicos fundamentais:
Sintaxe do Loop Foreach
foreach (elemento in itemIteravel) { // corpo do loop foreach }
O itemIteravel pode ser um array, uma lista ou qualquer tipo que implemente IEnumerable.
Como o Loop Foreach Funciona

A palavra-chave in seleciona cada item de itemIteravel a cada iteração e o atribui à variável elemento. O loop executa uma vez por elemento, então o número de iterações é igual ao número de itens na coleção.
Exemplo 1: Imprimindo um Array com Loop For
using System; namespace Loop { class ForLoop { public static void Main(string[] args) { char[] meuArray = {'H','e','l','l','o'}; for (int i = 0; i < meuArray.Length; i++) { Console.WriteLine(meuArray[i]); } } } }
Exemplo 2: Imprimindo um Array com Loop Foreach
using System; namespace Loop { class ForEachLoop { public static void Main(string[] args) { char[] meuArray = {'H','e','l','l','o'}; foreach (char ch in meuArray) { Console.WriteLine(ch); } } } }
Ambos os programas produzem:
H e l l o
A versão foreach é mais curta, elimina cálculos de índice e reduz o risco de erros off-by-one.
Exemplo 3: Contando Homens e Mulheres em um Array de Gênero
Este exemplo conta ocorrências de 'm' e 'f' em um array.
using System; namespace Loop { class GenderCount { public static void Main(string[] args) { char[] genero = {'m','f','m','m','m','f','f','m','m','f'}; int masculino = 0, feminino = 0; foreach (char g in genero) { if (g == 'm') masculino++; else if (g == 'f') feminino++; } Console.WriteLine("Número de homens = {0}", masculino); Console.WriteLine("Número de mulheres = {0}", feminino); } } }
Saída:
Número de homens = 6 Número de mulheres = 4
Exemplo 4: Somando uma Lista com Foreach
Usar um List<int> demonstra que foreach funciona perfeitamente com coleções genéricas.
using System; using System.Collections.Generic; namespace Loop { class SumList { public static void Main(string[] args) { var numeros = new List<int>() { 5, -8, 3, 14, 9, 17, 0, 4 }; int soma = 0; foreach (int numero in numeros) { soma += numero; } Console.WriteLine("Soma = {0}", soma); Console.ReadLine(); } } }
Resultado:
Soma = 44
Tanto em cenários de array quanto de coleção, foreach entrega código mais limpo e manutenível. Prefira-o sempre que você só precisar ler elementos e não requerer manipulação direta de índice.
Linguagem C
- Dominando Loops While e Do-While em C#: Sintaxe, Exemplos e Boas Práticas
- Dominando Loops For em C#: Sintaxe, Fluxo e Exemplos Práticos
- Dominando Loops For em C++: Guia Passo a Passo
- Loops While e Do-While em C++ – Dominando Repetição no Seu Código
- Dominando o Loop for em C: Sintaxe, Mecânica e Exemplos Práticos
- Dominando Loops While e Do-While em C: Exemplos Práticos
- Dominando Loops For em Python: Sintaxe, Exemplos e Padrões Avançados
- Dominando o Loop While em Python: Sintaxe, Exemplos e Boas Práticas
- Dominando o Loop for Aprimorado em Java: Sintaxe, Exemplos e Boas Práticas
- Laço do-while em C++: Sintaxe, Exemplos Práticos e Loops Aninhados