image

Acesse bootcamps ilimitados e +650 cursos pra sempre

60
%OFF
Article image
Tales Oliveira
Tales Oliveira21/02/2024 16:33
Compartilhe

Iterando em C#: Entendendo o Foreach e como utilizá-lo

  • #C#

Dev, sabe quando você precisa percorrer uma lista de números ou nomes, um array ou alguma estrutura de dados em seu código? O C# possui uma ótima ferramenta para nos auxiliar nessa tarefa: o Foreach. Vamos entender como ele funciona e como utilizá-lo!

O que é o foreach?

O foreach é uma instrução que utilizamos para iterar conjuntos de dados de forma concisa e prática, sem precisar informar quantos registros há no conjunto. Em outras palavras, utilizamos para percorrer dados de uma determinada estrutura e realizarmos uma ou um conjunto de instruições para cada elemento dessa estrutura.

Imagine que você possui uma gaveta cheia de camisetas. O foreach seria como um "separador" que pegaria uma camiseta por vez e executaria algo com ela (colocar em outra gaveta, colocar para lavar, etc), até finalizar toda a gaveta!

Ele funciona da seguinte forma:

image

Como utilizar o foreach?

A sintaxe do foreach é bem simples e intuitiva. Exemplo:

foreach (var camiseta in gaveta)
{
  Console.WriteLine(camiseta);
}

Onde "gaveta" seria o seu conjunto de dados e "camiseta" seria um elemento desse conjunto, e para cada elemento, executaria a instrução de printá-la no console.

Alguns exemplos de utilização:

  • Array:
int[] numeros = { 1, 2, 3, 4, 5 };

foreach (var numero in numeros)
{
  Console.WriteLine(numero);
}

Fará a impressão de cada número dentro do array.

  • Lista:
List<string> nomes = new List<string> { "João", "Maria", "Pedro" };

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

Fará a impressão do nome de cada pessoa na lista "Nomes".

  • Dicionário:
Dictionary<int, string> alunos = new Dictionary<int, string>
{
  { 1, "João" },
  { 2, "Maria" },
  { 3, "Pedro" }
};

foreach (var aluno in alunos)
{
  Console.WriteLine($"Número: {aluno.Key}, Nome: {aluno.Value}");
}

Fará a impressão do número do aluno e seu nome, para cada aluno do dicionário "Alunos".

Truques para utilizar com o foreach:

Você pode utilizar as instruções "break", para sair do loop, ou "continue" para pular para o próximo elemento da estrutura em determinada condição. Por exemplo:

var gaveta = new List<string>() { "Camiseta Preta", "Camiseta Vermelha", "Camiseta Azul" };

foreach (string camiseta in gaveta)
{
  if (camiseta == "Camiseta Vermelha")
  {
     break;
  }
  Console.WriteLine(camiseta);
}

Sairá do loop quando "camiseta" tiver valor igual à "Camiseta Vermelha".

var gaveta = new List<string>() { "Camiseta Preta", "Camiseta Vermelha", "Camiseta Azul" };

foreach (string camiseta in gaveta)
{
  if (camiseta == "Camiseta Vermelha")
  {
     continue;
  }
  Console.WriteLine(camiseta);
}

Pulará para o próximo elemento da "gaveta", não executando o print dessa camiseta em específico.

Além de percorrer coleções como demonstrei acima, o foreach pode ser utilizado em conjunto com o "yield" para criar sequências de dados sob demanda. Exemplo de uma função que retornará números pares de 0 à 10:

// Utilizando yield para criar uma sequência de números pares
static IEnumerable<int> NumerosPares()
{
  for (int i = 0; i < 10; i++)
  {
      if (i % 2 == 0)
      {
          yield return i;
      }
  }
}


foreach (int numeroPar in NumerosPares())
{
  Console.WriteLine(numeroPar);
}

O foreach fará a impressão dos números pares retornados da função "NumerosPares()".

Conclusão

Em resumo, o foreach é extramemente útil e prático para percorrer dados no desenvolvimento de software. Ele simplifica a iteração em diferentes estruturas, com uma sintaxe simples e clara. É uma ótima forma de aumentar a produtividade e qualidade dos seus códigos, facilitando a manutenção e eficiência do desenvolvimento.

Espero que tenha te ajudado, e bons códigos! 😉

Fontes:

Compartilhe
Comentários (0)