C# – Para Iniciantes – Parte 2 – For – Foreach – While

Olá Pessoal, Como fazer Laço de repetição em C# dos tipos For – Foreach – While?

Se você não sabe ou tinha dúvida, vamos aprender hoje!
Os laços de repetição estão presentes desde as primeiras linguagens e até hoje são extremamente utilizados, basicamente o laço repete um bloco de instruções até que uma condição seja satisfeita.
Vamos lá:

A simulação de código foi feito em um projeto Windows Application.

Laço FOR

    for (int i = 0; i <= 10; i++)
    {
        MessageBox.Show("6 x " + i.ToString() + " = " + (i * 6).ToString());
    }

Leitura:
Para i (inteiro) igual a 0 até i menor igual a 10 acrescente i+1

Simples né?
Podemos fazer um For inverso, onde ele começa de um maior e regride:

    for (int i = 11 - 1; i >= 0; i--)
    {
        MessageBox.Show("6 x " + i.ToString() + " = " + (i * 6).ToString());
    }

Esse tipo de For é útil quando temos um Array de valores onde sabemos o tamanho total dele.

Laço FOR EACH

    foreach (Control item in this.Controls)
    {
        MessageBox.Show(item.Name);
    }

Funciona um pouco diferente, é muito utilizado para varrer tipos de objetos que estão contidos em uma coleção (array de objetos).

Por ex, neste código foi criado um item do tipo Control (controle de formulário tipo button, label). Esse item a cada laço do ForEach recebe um elemento da coleção de todos os controles do formulário.

Laço WHILE

int div = 1000;

while (div != 3)
{
     div = div / 2;
     MessageBox.Show("valor de número é: " + div.ToString());
}

Leitura:
Enquanto (condição esperada não ocorre) faça:
Em determinado momento a variável div sendo dividida por 2 vai ser igual a 3 e satisfará a condição do While, enquanto isso não ocorrer o laço continuará em Loop.
PS – Cuidado com o laço While, cometer um erro que resulta em loop infinito é fácil, nesse caso basta alterar para while (div != 2) e teremos um loop infinito 😉

Laço DO WHILE

    int num = 10;

    do
    {
        num += 5;
        MessageBox.Show("valor de número é: " + num.ToString());
    }
    while (num > 100);

É a mesma ideia do primeiro While, o que muda é que no primeiro a condição é testada no começo do laço e no Do While, é testada no final do laço. Isso é importante dependendo do que precisar fazer.

Essas são as estruturas de laço de repetição que temos no C#, procure memorizar e entender para qual cenário cada um é mais adequado.

Logo mais abordarei Expressões Lambda, que em determinados momentos podem substituir o uso de um ForEach.

Utilizem os comentários para tirar dúvidas.
Até a próxima.

11 pensou em “C# – Para Iniciantes – Parte 2 – For – Foreach – While

  1. Adorei sua explicação sobre laços, ficou bem simples e as comparações foram boas para se perceber diferenças entre ambas, agora que se tem a teoria é pôr em prática. Parabéns pelo trabalho !

  2. me ajudou tambem kk tenho prova hj e tava procurando uma explicaçao mais clara, gostei de fazer uma leitura do codigo explicando passo a passo, vlw!

  3. Excelente artigo, venho acompanhando estes artigos de C# e estão me ajudando muito, parabéns

  4. Ótima explicação, simples e clara.

    Gostaria de saber se no “foreach” tem como escolher se ASC ou DESC como é possível no “for” utilizando “i++” ou “i–“.

    Grato pelo tempo e dedicação!

  5. olá Eduardo, posso te dar uma dica ? no laço foreach acho que pra explicação ficar mais clara você podia ter colocado já também o vetor que é usado, ex:

    string [] nomes = new string[] {“raphael”, “victoria”,”etc”};
    foreach (string nome in nomes)
    {
    Console.WriteLine(nome);

    }

    pois assim creio que ficaria mais simples o entendimento.

Os comentários estão fechados.