Neste artigo, aprenderemos sobre loops foreach (uma alternativa ao loop for) e como usá-los com arrays e coleções.
C # fornece uma alternativa fácil de usar e mais legível para o loop for, o loop foreach ao trabalhar com arrays e coleções para iterar por meio de itens de arrays / coleções. O loop foreach itera em cada item, portanto, denominado loop foreach.
Antes de prosseguir com o loop foreach, visite:
- C # for loop
- Arrays C #
- Coleções C #
Sintaxe do loop foreach
foreach (elemento no item iterável) (// corpo do loop foreach)
Aqui, iterable-item pode ser um array ou uma classe de coleção.
Como funciona o loop foreach?
A in
palavra-chave usada junto com o loop foreach é usada para iterar sobre o item iterável. A palavra-chave in seleciona um item do item iterável em cada iteração e o armazena no elemento variável.
Na primeira iteração, o primeiro item de iterable-item é armazenado no elemento. Na segunda iteração, o segundo elemento é selecionado e assim por diante.
O número de vezes que o loop foreach será executado é igual ao número de elementos na matriz ou coleção.
Aqui está um exemplo de iteração por meio de uma matriz usando o loop for:
Exemplo 1: impressão de matriz usando for loop
using System; namespace Loop ( class ForLoop ( public static void Main(string() args) ( char() myArray = ('H','e','l','l','o'); for(int i = 0; i < myArray.Length; i++) ( Console.WriteLine(myArray(i)); ) ) ) )
A mesma tarefa pode ser realizada usando o loop foreach.
Exemplo 2: matriz de impressão usando loop foreach
using System; namespace Loop ( class ForEachLoop ( public static void Main(string() args) ( char() myArray = ('H','e','l','l','o'); foreach(char ch in myArray) ( Console.WriteLine(ch); ) ) ) )
Quando executamos os dois programas, a saída será:
Olá
No programa acima, o loop foreach itera sobre a matriz, myArray. Na primeira iteração, o primeiro elemento, ou seja, myArray (0) é selecionado e armazenado no ch.
Da mesma forma, na última iteração, o último elemento, isto é, meuArray (4) é selecionado. Dentro do corpo do loop, o valor de ch é impresso.
Quando olhamos para os dois programas, o programa que usa o loop foreach é mais legível e fácil de entender. Isso se deve à sua sintaxe simples e expressiva.
Portanto, o loop foreach é preferível ao loop for ao trabalhar com arrays e coleções.
Exemplo 3: Atravessando uma matriz de gênero usando loop foreach
Este programa calcula o número de candidatos do sexo masculino e feminino.
using System; namespace Loop ( class ForEachLoop ( public static void Main(string() args) ( char() gender = ('m','f','m','m','m','f','f','m','m','f'); int male = 0, female = 0; foreach (char g in gender) ( if (g == 'm') male++; else if (g =='f') female++; ) Console.WriteLine("Number of male = (0)", male); Console.WriteLine("Number of female = (0)", female); ) ) )
Quando executamos o programa, a saída será:
Número de homens = 6 Número de mulheres = 4
Exemplo 4: loop foreach com lista (coleção)
Este programa calcula a soma dos elementos em uma lista.
using System; using System.Collections.Generic; namespace Loop ( class ForEachLoop ( public static void Main(string() args) ( var numbers = new List() (5,-8,3,14,9,17,0,4); int sum = 0; foreach(int number in numbers) ( sum += number; ) Console.WriteLine("Sum = (0)", sum); ) ) )
Quando executamos o programa, a saída será:
Soma = 44
Neste programa, o loop foreach é usado para percorrer uma coleção. Percorrer uma coleção é semelhante a percorrer uma matriz.
O primeiro elemento da coleção é selecionado na primeira iteração, o segundo elemento na segunda iteração e assim por diante até o último elemento.