English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Loop for do C#

Aqui, você aprenderá como usar o loop for, a estrutura do loop for, loops for aninhados que executam múltiplas vezes instruções ou blocos de código, e como sair do loop for.

a palavra-chave for representa o loop no C#. O loop for repetirá o bloco de instruções até que a condição especificada retorne false.

Sintaxe:

for (inicializador; condição; iterador)
{    
   //bloco de código 
}

o loop for contém três partes opcionais, separadas por ponto-e-vírgula:

Inicializador: usado para inicializar uma variável que será o variável local do loop for e não pode ser acessado fora do loop. Também pode ser zero ou mais instruções de atribuição, chamadas de método, expressões de incrementação ou decremento, por exemplo++i ou i++e expressões await.

Condiçãoa condição é uma expressão booleana que retornará true ou false. Se o resultado da contagem da expressão for true, ele executará o loop novamente; caso contrário, sairá do loop.

Iteradordefinindo o incremento ou decremento do variável de loop.

Aqui está um loop for executando um bloco de código10vezes.

for (int i = 0; i < 10; i++)
{
    Console.WriteLine("o valor de i: {0}", i);
}

Tente ver a saída:

o valor de i: 0
o valor de i: 1
o valor de i: 2
o valor de i: 3
o valor de i: 4
o valor de i: 5
o valor de i: 6
o valor de i: 7
o valor de i: 8
o valor de i: 9

No exemplo acima, int i = 0 é uma expressão de inicialização, onde definimos um int o valor do variável i e inicializa-lo com 0. A segunda parte é a expressão de condição i < 10se a condição retornar se for true, ele executará um bloco de código. Após a execução do bloco de código, ele passará para a terceira parte do iterador. i+ + é uma instrução de incrementação que atribui ao variável de loop i seu valor aumenta1Agora, ele verificará novamente a expressão de condição e repetirá a mesma operação até que a expressão de condição retorne false. A figura a seguir ilustra os passos de execução do loop for.

A figura a seguir ilustra os passos de execução do laço for.

Passos de execução do laço for

Se um bloco de código contiver apenas uma instrução, não é necessário envolvê-lo em chaves { } como mostrado a seguir.

 Exemplo: laço for

for (int i = 0; i < 10; i++){
  Console.WriteLine("Valor de i: {0}", i);
}

As partes de inicializador, condição e iterador são opcionais. Você pode inicializar variáveis antes do laço for e definir condições e iteradores dentro do bloco de código, conforme mostrado a seguir.

 Exemplo: laço for C#

int i = 0;
for (;;)
{
    if (i < 10)
    {
      Console.WriteLine("Valor de i: {0}", i);
      i++;
    } else {
       break;
    }
}
Saída:
Valor de i: 0
Valor de i: 1
Valor de i: 2
Valor de i: 3
Valor de i: 4
Valor de i: 5
Valor de i: 6
Valor de i: 7
Valor de i: 8
Valor de i: 9

 Como esses três componentes são opcionais no laço for, é importante ser cuidadoso ao definir as condições e os iteradores. Caso contrário, será um laço infinito que nunca terminará.

for (; ; )
{
    Console.Write(1);
}
Saída:
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ....

O controlador do laço for pode ser qualquer tipo de dados numéricos, por exemplo, double, decimal, etc.

for (double d = 1.01D; d < 1.10; d+= 0.01D)
{
    Console.WriteLine("Valor de i: {0}", d);
}
Saída:
Valor de i: 1.01
Valor de i: 1.02
Valor de i: 1.03
Valor de i: 1.04
Valor de i: 1.05
Valor de i: 1.06
Valor de i: 1.07
Valor de i: 1.08
Valor de i: 1.09

A parte do passo do laço for pode aumentar ou diminuir o valor da variável.

for (int i = 10; i > 0; i--)
{
    Console.WriteLine("Valor de i: {0}", i);
}
Saída:
Valor de i: 10
Valor de i: 9
Valor de i: 8
Valor de i: 7
Valor de i: 6
Valor de i: 5
Valor de i: 4
Valor de i: 3
Valor de i: 2
Valor de i: 1

Sair do laço for

Você também pode usar a palavra-chave break para sair do laço for.

for (int i = 0; i < 10; i++)
{
    if (i == 5 )
        break;
    Console.WriteLine("Valor de i: {0}", i);
}
Saída:
Valor de i: 0
Valor de i: 1
Valor de i: 2
Valor de i: 3
Valor de i: 4

Múltiplas expressões

O laço for também pode incluir várias expressões separadas por vírgula como itens de inicialização e iterações, conforme mostrado a seguir.

for (int i = 0, j = 0; i+j < 5; i++, j++)
{
    Console.WriteLine("Valor de i: {0}, J: {",1} ", i,j);
}
Saída:
Valor de i: 0, J: 0 
Valor de i: 1, J: 1 
Valor de i: 2, J: 2

O laço for também pode conter instruções como itens de inicialização e iterações.

int i = 0, j = 5;
for (Console.WriteLine($"Inicializador: i={i}, j={j}"); 
    i++ < j--; 
    Console.WriteLine($"Iterador: i={i}, j={j}"))
    {
    }

Saída:

Inicializador:i = 0,j = 5
Iterador:i = 1,j = 4  
Iterador:i = 2,j = 3  
Iterador:i = 3,j = 2

Loops Aninhados

O C# permite um loop for dentro de outro loop for.

for (int i = 0; i < 2; i++)
{
    for(int j =i; j < 4; j++){
       Console.WriteLine("O valor de i: {0}, J: {1} ", i,j);
    }
        
}
Saída:
O valor de i:0,J:0 
O valor de i:0,J:1  
O valor de i:0,J:2  
O valor de i:0,J:3  
O valor de i:1,J:1  
O valor de i:1 ,J:2  
O valor de i:1,J:3