Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
Os grupos de interesse da comunidade passaram do Yammer para o Microsoft Viva Engage. Para se juntar a uma comunidade Viva Engage e participar nas discussões mais recentes, preencha o formulário Solicitar acesso à Comunidade Viva Engage de Finanças e Operações e escolha a comunidade à qual pretende juntar-se.
Este artigo descreve instruções de loop no X++.
Há três instruções de loop: for, while e do... enquanto. Um loop repete a sua afirmação até que a condição que definiste para o loop seja falsa. Dentro das instruções loop, você pode usar as instruções break e continue .
para loops
A sintaxe de um loop for é:
for (inicialização;ensaio;incremento) {statement}
O loop for executa repetidamente a instrução enquanto o teste de expressão condicional for true. pode ser um bloco de instruções. O corpo do loop for (instrução) pode ser executado zero ou mais vezes, dependendo dos resultados do teste.
Um loop for difere de outros loops porque pode atribuir um valor inicial a uma variável de controlo, e porque existe uma instrução para incrementar ou decrementar a variável. Essas adições tornam um loop for especialmente útil para percorrer listas, contêineres e matrizes porque eles têm um número fixo de elementos.
Você também pode aplicar uma instrução a cada elemento e incrementar seu caminho através dos elementos, definindo a condição para testar o último elemento.
Exemplo de um loop for
No exemplo de código a seguir, os itens em uma matriz de inteiros são impressos.
int integers[10];
for (int i = 0; i < 10; i++)
{
info(int2str(integers[i]));
}
// The output is a series of 0's.
enquanto loops
A sintaxe de um loop while é:
enquanto (expressão)declaração
Um loop while executa repetidamente a instrução enquanto a expressão condicional for verdadeira. Podes substituir a instrução por um bloco de instruções. O ciclo executa a instrução tantas vezes quanto a condição for cumprida (zero para muitas).
Exemplo de um loop while
O exemplo de código a seguir demonstra um loop while que atravessa um contêiner e imprime o conteúdo do contêiner.
container cont = ["one", "two", "three"];
int no = 1;
while (no <= conlen(cont))
{
info(conPeek(cont, no));
no++;
}
// The output is "one", "two", "three".
fazer... enquanto loops
A sintaxe do ... enquanto loop é:
do {statement} while (expressão) ;
O...while loop é semelhante ao while loop, mas a condição aparece após a instrução que deve ser executada. pode ser um bloco de instruções. A instrução é sempre executada pelo menos uma vez, porque a condição é testada depois que a instrução é executada. O...enquanto o loop é adequado para tarefas que sempre devem ser feitas pelo menos uma vez, como obter parâmetros para um relatório.
Exemplo de... enquanto loop
O exemplo de código a seguir localiza a menor potência de 10 que é maior que realNumber.
int FindPower(real realNumber)
{
int exponent = -1;
real curVal;
do
{
exponent++;
curVal = power(10, exponent);
}
while (realNumber > curVal);
return exponent;
}
Continuar declaração
A instrução continue faz com que a execução se mova diretamente para a próxima iteração de um for, while ou do... enquanto loop. Para fazer ou enquanto, o teste é executado imediatamente. Para uma instrução for , a etapa de incremento é executada.
Exemplo de uma instrução continue
No exemplo de código seguinte, se Iarray[i] <= 0, o ciclo não executa as restantes instruções. O ciclo incrementa i antes de tentar novamente a instrução if .
int Iarray[100];
for (int i = 0; i < 100; i++)
{
if (Iarray[i] <= 0)
{
Info("Will continue.");
continue;
}
info("Did not continue.");
}
// The output is "Will continue." for all 100 interations.
Declaração de quebra
Use a instrução break dentro de um loop para terminar esse loop. Em seguida, a execução passa para a primeira instrução após o loop.
Exemplo de uma instrução de interrupção
Este exemplo usa uma instrução break dentro de um loop while . Quando usada dentro de um ciclo, a instrução break termina o ciclo e a execução continua a partir da instrução que segue o ciclo. Este comportamento funciona para do... while e para loops também.
var mainMenu = SysDictMenu::newMainMenu();
var enum = mainMenu.getEnumerator();
var found = false;
while (enum.moveNext())
{
var menuItem = enum.current();
if (menuItem.label() == "StringOfInterest")
{
found = true;
break;
}
}
if (found)
{
// do something
}