for (Referência de C#)
Usando um loop de for , você pode executar uma instrução ou um bloco de instruções repetidamente até que uma expressão especificada classifique a false. Esse tipo do loop é útil para iterar sobre matrizes e para outros aplicativos em que você sabe com antecedência quantas vezes você deseja que o loop para iterar.
Exemplo
Em o exemplo, o valor de i é escrito no console e incrementado por 1 durante cada iteração do loop.
class ForLoopTest
{
static void Main()
{
for (int i = 1; i <= 5; i++)
{
Console.WriteLine(i);
}
}
}
/*
Output:
1
2
3
4
5
*/
A declaração de for no exemplo anterior executa as seguintes ações.
Primeiro, o valor inicial de i variável é estabelecida. Esta etapa acontecerá somente uma vez, independentemente de quantas vezes o loop para repetir. Você pode pensar em essa inicialização como fora de processo aconteça o loop.
Para classificar uma condiçãoi <= 5(), o valor de i é comparado a 5.
Se i é menor ou igual a 5, a condição avalia a true, e as seguintes ações ocorrer.
A declaração de Console.WriteLine o corpo do loop exibe o valor de i.
o valor de i é incrementado por 1.
O loop retorna para o início da etapa 2 para avaliar novamente a condição.
Se i é maior que 5, a condição avalia a false, e você sai do loop.
Observe que, se o valor inicial de i é maior que 5, o corpo de loop não executa mesmo uma vez.
Cada declaração de for define o inicializador, a condição, e seções de iterador. Essas seções geralmente determinam quantas vezes o loop itera.
for (initializer; condition; iterator)
body
As seções a seguir servem as finalidades.
A seção de inicializador define as condições iniciais. As instruções em esta seccionam a execução somente uma vez, antes que você insira o loop. A seção pode conter apenas uma das seguintes opções.
A declaração e a inicialização de uma variável de lacete local, como o primeiro exemplo mostraint i = 1(). A variável é local para o loop e não pode ser acessado fora do loop.
Zero ou mais expressons da instrução na lista, separada por vírgulas.
declaração deatribuição
chamada de um método
prefixe ou pós-fixar a expressão de incremento , como ++i ou i++
prefixe ou pós-fixar a expressão de redução , como --i ou i--
criando um objeto usando novo
expressão deespere
A seção da condição contém uma expressão booleana que é avaliada para determinar se o loop deve sair ou deve executar novamente.
A seção de iterador define o que acontece depois cada iteração do corpo do loop. A seção de iterador contém zero ou mais das expressões de declaração, separados por vírgulas:
declaração deatribuição
chamada de um método
prefixe ou pós-fixar a expressão de incremento , como ++i ou i++
prefixe ou pós-fixar a expressão de redução , como --i ou i--
criando um objeto usando novo
expressão deespere
O corpo do loop consiste em uma instrução, uma instrução vazia, ou um bloco de instruções que você cria, incluindo zero ou mais declarações em chaves.
Você pode quebrar de um loop de for usando a palavra-chave de interrupção , ou você pode ir para a próxima iteração usando a palavra-chave de continue . Você também pode deixar qualquer loop usando goto, retorno, ou a declaração de throw .
O primeiro exemplo de este tópico mostra o tipo mais comum de loop de for , que faz as seguintes opções para seções.
O inicializador declara e inicializa uma variável de lacete local, i, que mantém uma contagem de iterações do loop.
As verificações de condição o valor da variável do loop com um valor final conhecido, 5.
A seção de iterador usa uma instrução de incremento de pós-fixação, i++, registrar cada iteração do loop.
O exemplo a seguir ilustra várias opções menos comuns: atribuindo um valor a uma variável externa do loop na seção de inicializador, chamar o método de Console.WriteLine no inicializador e nas seções de iterador, e alterar os valores de duas variáveis na seção de iterador.
static void Main()
{
int i;
int j = 10;
for (i = 0, Console.WriteLine("Start: {0}",i); i < j; i++, j--, Console.WriteLine("i={0}, j={1}", i, j))
{
// Body of the loop.
}
}
// Output:
// Start: 0
// i=1, j=9
// i=2, j=8
// i=3, j=7
// i=4, j=6
// i=5, j=5
todas as expressões que definem uma instrução de for são opcionais. Por exemplo, a seguinte declaração cria um loop infinito.
for (; ; )
{
// ...
}
Especificação da linguagem C#
Para obter mais informações, consulte a Especificação da linguagem C#. A especificação da linguagem é a fonte definitiva para a sintaxe e o uso de C#.
Consulte também
Referência
foreach, in (Referência de C#)
Instruções de iteração (Referência de C#)