C# loop foreach
C# foreach loop
Neste artigo, aprenderemos sobre loops foreach (uma alternativa ao loop for) e como usá-los com arrays e coleções.
O C# fornece uma alternativa fácil de usar e mais legível ao loop for, o loop foreach ao trabalhar com matrizes e coleções para iterar pelos itens de matrizes/coleções. O loop foreach itera através de cada item, portanto, chamado de loop foreach.
Antes de avançar com o loop foreach, visite:
- C# for loop
- matrizes C#
- Coleções em C#
Sintaxe do loop foreach
foreach (element in iterable-item) { // body of foreach loop }
Aqui iterable-item pode ser um array ou uma classe de coleção.
Como funciona o loop foreach?
O
in
palavra-chave usada junto com o loop foreach é usada para iterar sobre o iterable-item . A palavra-chave in seleciona um item do iterable-item em cada iteração e armazená-lo na variável elemento . 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 através de uma matriz usando o loop for:
Exemplo 1:Imprimindo array usando loop for
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 feita usando o loop foreach.
Exemplo 2:Imprimindo array 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á:
H e l l o
No programa acima, o loop foreach itera sobre o array, myArray . Na primeira iteração, o primeiro elemento, ou seja, myArray[0] é selecionado e armazenado em ch .
Da mesma forma na última iteração, o último elemento, ou seja, myArray[4] é selecionado. Dentro do corpo do loop, o valor de ch é impresso.
Quando olhamos para ambos os 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 matrizes e coleções.
Exemplo 3:percorrendo uma matriz de gênero usando o 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á:
Number of male = 6 Number of female = 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<int>() { 5, -8, 3, 14, 9, 17, 0, 4 };
int sum = 0;
foreach (int number in numbers) {
sum += number;
}
Console.WriteLine("Sum = {0}", sum);
Console.ReadLine();
}
}
}
Quando executamos o programa, a saída será:
Sum = 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.
Linguagem C