English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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; } }
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); }
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); }
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); }
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
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); }
Valor de i: 0 Valor de i: 1 Valor de i: 2 Valor de i: 3 Valor de i: 4
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); }
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
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); } }
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