C#: Estruturas de repetição For e Foreach
Nesta documentação você aprenderá a utilizar as estruturas de repetição For e Foreach da linguagem C#.
As estruturas de repetição possibilitam executar o mesmo código diversas vezes sem que seja necessário repetir instruções. Assim, sempre que você precisar programar uma lógica que necessita ser processada mais de uma vez, considere o uso desse recurso. A linguagem C# nos fornece três estruturas de repetição: For, Foreach e While.
Curso relacionado: Curso Básico de C#
Neste documento apresentamos como utilizar o for e foreach.
For
O For é a estrutura de repetição que utilizamos quando sabemos a quantidade de repetições que um bloco de código deve ser executado.
Sintaxe da estrutura de repetição For:
for (inicializador; condição; iterador)
{
// bloco de código
}
A sintaxe é composta por três expressões separadas por ponto e vírgula. Elas controlam o início do loop e as condições de como cada iteração irá executar.
Exemplo de uso:
for (int contador = 0; contador < 5; contador++)
{
Console.WriteLine(contador);
}
Ao executar o código acima, serão impressos no console os números de 0 a 4, ou seja, a linha Console.WriteLine(contador) será executada cinco vezes dentro do loop.
Ao utilizar a estrutura For, precisamos de uma variável para saber quantas repetições foram executadas. No exemplo essa variável é contador.
Inicializador
Na primeira expressão do For, que só é executada na antes da primeira iteração do loop, definimos a variável contador para utilizá la como o contador desse loop:
int contador = 0
Condição
A segunda expressão é uma expressão lógica que serve para controlar quantas vezes o loop será executado. No exemplo utilizamos a condição:
contador < 5
O loop irá executar enquanto nosso contador for menor que 5;
Iterador
E a terceira condição é executada ao final de cada iteração do loop:
contador++
Após cada iteração o nosso contador é incrementado.
Então, no nosso exemplo, a cada iteração do loop o valor do nosso contador é impresso no console. Os números de 0 a 4 serão exibidos no console.
Iteração | Contador | |
---|---|---|
1 | 0 |
A variável contador é inicializada com o valor 0;
A condição retorna TRUE, então o loop é executado:
A variável contador é impressa no console;
A variável contador é incrementada;
|
2 | 1 |
A condição retorna TRUE, então o loop é executado:
A variável contador é impressa no console;
A variável contador é incrementada;
|
3 | 2 |
A condição retorna TRUE, então o loop é executado:
A variável contador é impressa no console;
A variável contador é incrementada;
|
4 | 3 |
A condição retorna TRUE, então o loop é executado:
A variável contador é impressa no console;
A variável contador é incrementada;
|
5 | 4 |
A condição retorna TRUE, então o loop é executado:
A variável contador é impressa no console;
A variável contador é incrementada;
|
6 | 5 |
A condição retorna FALSE e o loop é interrompido:
|
Nota: O for pode ser declarado sem um bloco de código, colocando as ações dentro da terceira expressão, separando por vírgula.
Exemplo de uso:
for (int contador = 0; contador < 5; Console.WriteLine(contador), contador++){}
Foreach
O foreach é um recurso do C# que possibilita executar um conjunto de comandos para cada elemento presente em uma coleção (Array, List, Stack, Queue e outras). Portanto, diferentemente do while e do for, não precisamos definir uma condição de parada. Isso é definido de forma implícita, pelo tamanho da coleção.
Sintaxe da estrutura de repetição foreach:
foreach (tipo elemento in coleção)
{
//bloco de código
}
Na declaração do foreach, entre parênteses criamos um elemento do tipo utilizado na coleção e, com o operador in, informamos a coleção a ser percorrida. Assim, a cada loop os dados presentes em uma posição da coleção são atribuídos ao elemento. Por fim, entre chaves, inserimos o código a ser executado no loop.
Relacionado: JavaScript forEach()
Exemplo prático
Considere que desejamos imprimir na tela todos os nomes presentes em um array. Para isso, em vez de criar um while e nos preocuparmos com a condição de parada, podemos fazer uso do foreach.
Exemplo de uso:
string[] nomes = { “André”, “Bruna”, “Carla”, “Daniel” };
foreach (string nome in nomes)
{
Console.WriteLine(nome);
}
Analisando o código:
Linha 01: Criamos um array, chamado nomes, do tipo string, onde armazenamos os nomes de algumas pessoas;
Linha 03: Declaramos a estrutura foreach, que traz entre parênteses o tipo (string) e o nome (nome) do elemento que irá receber os dados contidos na coleção a cada iteração. Ainda nessa linha, após o operador in informamos que a estrutura irá iterar pelo array de strings (nomes);
Linhas 04 a 06: Declaramos o bloco de código que será executado a cada loop - neste caso, a instrução Console.WriteLine(nome).
Documentação relacionada: C#: Estrutura de repetição While
Saiu na DevMedia!
-
O que são formulários mestre detalhe?:
Falhas de gravação é um dos piores cenários que podemos pensar durante o desenvolvimento de software e podemos minimizar esse problema com o padrão Mestre/Detalhe. -
Construindo uma aplicação mestre detalhe em PHP:
Ao longo deste curso veremos como implementar um formulário "mestre detalhe", nos concentrando nos aspectos principais desse relacionamento e como ele é representado no código, na interface do sistema e no banco de dados. -
Eu sobrevivo sem UML?:
Você planeja suas aplicações antes de começar a programar? Ou é daqueles que pensa enquanto escreve? Cuidado, você corre o risco de chegar no meio do projeto sem saber para onde ir. Para evitar isso descubra neste Guia a UML.
Saiba mais ;)
-
JavaScript redirect:
Nesta documentação aprenderemos como redirecionar o usuário em JavaScript utilizando window.location. -
JavaScript switch:
Nesta documentação de JavaScript veremos como utilizar a estrutura condicional switch para criar scripts capazes de executar diferentes blocos de código de acordo com diferentes condições. -
JavaScript if/else:
Nesta documentação de JavaScript veremos como utilizar a estrutura condicional if/else para criar scripts com diferentes fluxos de execução.
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo