For... Next demonstrativo (Visual Basic)
Repete um agrupar de instruções um número de vezes especificado.
For counter [ As datatype ] = start To end [ Step step ]
[ statements ]
[ Exit For ]
[ statements ]
Next [ counter ]
Partes
counter
Necessária a For demonstrativo. Variável numérica.A variável de controle do loop.datatype
Necessário se counter não já foi declarado. Tipo de dados de counter.start
Obrigatório.Expressão numérica.O valor inicial de counter.end
Obrigatório.Expressão numérica.O valor final de counter.step
Opcional.Expressão numérica.A quantidade pela qual counter é incrementado cada time através do loop.statements
Opcional.Uma ou mais instruções entre For e Next que executam o número de vezes especificado.Exit For
Opcional.Transfere controle fora do loop For.Next
Obrigatório.Termina a definição do loop For.
Comentários
Use um For... Next estrutura quando você desejar repetir um conjunto de instruções de um número definido de vezes.
A While... participante While demonstrativo (Visual Basic) ou Declaração Do...Loop (Visual Basic) funciona bem quando você não souber de antemão quantas vezes você precisa executar as instruções no loop. No entanto, quando você pretende executar o loop de um número específico de vezes, um For... Next loop é uma opção melhor. Você pode determinar o número de iterações ao inserir primeiro o loop.
O valor de step pode ser positivo ou negativo. Ele determina o loop de processamento da seguinte maneira:
Valor de etapa |
O loop é executado se |
---|---|
Positivo ou zero |
counter <= end |
Negativo |
counter >= end |
Se não especificado, step o padrão é 1.
Regras
Tipos de dados O tipo de dados de counter Geralmente, é Integer mas pode ser qualquer tipo que oferece suporte à maior que ou igual a)>=), menor ou igual a ()<=), () adição+) e subtração (-) operadores. Ainda é que um tipo definido pelo usuário fornecidos oferece suporte a todos esses operadores.
The start, end, e step geralmente avaliar expressões digitar Integer mas pode ser avaliada como qualquer tipo de dados que amplia o tipo de counter. Se você usar um tipo definido pelo usuário para counter, isso significa você pode definir o CType operador de conversão para converter os tipos de start, end, ou step o tipo de counter.
Declaração If counter não foi declarada fora desse loop, você deverá declará-lo dentro do For demonstrativo. Nesse caso, o escopo de counter é o corpo do loop. No entanto, você não pode declarar counter ambos fora e dentro do loop.
Número de Iterações. Visual Basic avalia a iteração valores start, end, e step somente uma vez, antes do início de loop. Se o seu bloco de instruções alterar end ou step, essas alterações não afetam a iteração do loop.
Loops Aninhados. Você pode aninhar loops For colocando um loop dentro de outro.No entanto, cada loop deve ter um exclusivo counter variável. A seguinte construção é válida.
For i As Integer = 1 To 10 For j As Integer = 1 To 10 For k As Integer = 1 To 10 ' Insert statements to operate with current values of i, j, and k. Next k Next j Next i
Você também pode aninhar os diferentes tipos estruturas de controle entre si.Para obter mais informações, consulte Estruturas de controle aninhadas.
Observação: Se um Next demonstrativo de um nível de aninhamento externo é encontrada antes de Next de um nível interno, o compilador indica um erro. No entanto, o compilador pode detectar essa sobreposição erro apenas se você especificar counter em cada Next demonstrativo.
Identificando a variável de controle. Opcionalmente, você pode especificar counter no Next demonstrativo. Isso melhora a legibilidade do seu programa, especialmente se você tiver aninhado For faz um loop. Você deve especificar a mesma variável sistema autônomo exibida no correspondente For demonstrativo.
Transferindo Fora do Loop O Declaração Saída (Visual Basic) transfere controle imediatamente para a declaração que segue a declaração Next.Você pode querer sair de um loop se você detectar uma condição que se faz desnecessária ou impossível de se continuar iterando, como um valor errôneo ou uma exigência de finalização.Além disso, se você capturar uma exceção em um Try... Catch... Finally, você pode usar Exit For no participante do Finally bloco.
Você pode colocar qualquer número de Exit For instruções em qualquer lugar na For loop. Exit For geralmente é usado depois de avaliar algumas condições, por exemplo em um If... Then... Else estrutura.
Loops intermináveis. Um uso Exit For é testar uma condição que poderia causar um loop infinito, que é um loop que poderia executar um número extremamente grande ou até mesmo infinito de vezes.Se você detectar tal condição, você pode usar Exit For para escapar do loop.Para obter mais informações, consulte Declaração Do...Loop (Visual Basic).
Comportamento
Entrada para o loop. Quando a execução do For... Next loop começa, Visual Basic é avaliada start, end, e step para o único time. Ele atribui start para counter. Antes da execução do bloco de demonstrativo, ele compara counter para end. If counter já é passar o valor participante, o For loop é encerrado e controle passa para a seguinte demonstrativo de Next demonstrativo. Caso contrário, o bloco de demonstrativo é executada.
Iterações do loop. Sempre que o Visual Basic encontre o Next demonstrativo, ele é incrementado counter Por step e retorna para o For demonstrativo. Novamente, ele compara counter para end, e novamente ele executa o bloco ou encerra o loop dependendo do resultado. Esse processo continua até counter passagens end ou um Exit For demonstrativo for encontrada.
Rescisão do loop. O loop não encerra até counter passou end. If counter é igual a end, o loop continuará. A comparação que determina se deve executar o bloco é counter<= end Se step é positivo e counter>= end Se step é negativo.
Alterando valores de iteração. Alterar o valor de counter enquanto dentro de um loop pode tornar mais difícil de ler e depurar seu código. Alterar o valor de start, end, ou step faz não afetam que os valores de iteração determinados o loop foi digitado pela primeira vez.
Exemplo
O exemplo a seguir demonstra aninhados For... Next estruturas com valores de etapa diferente.
Dim words, digit As Integer
Dim thisString As String = ""
For words = 10 To 1 Step -1
For digit = 0 To 9
thisString &= CStr(digit)
Next digit
thisString &= " "
Next words
O exemplo anterior cria uma cadeia de caracteres que contém 10 instâncias dos números de 0 a 9, cada seqüência de caracteres separada dos outros por um único espaço.Decrementa a loop externo um loop do contador de variável de cada vez pelo loop.
Consulte também
Tarefas
Como: Melhore o desempenho de um loop
Conceitos
Estruturas de controle aninhadas
Referência
While... participante While demonstrativo (Visual Basic)
Declaração Do...Loop (Visual Basic)