Loop Infinito
Parte da seção Fundamentos do Journey de C# da Coddy — lição 47 de 69.
Um loop infinito é um loop que nunca para porque sua condição sempre avalia como true. Esses loops podem ocorrer com qualquer tipo de loop (for, while, do-while), mas eles são mais comumente associados a loops while e do-while porque suas condições são declaradas explicitamente.
Aqui está um exemplo de um loop while infinito:
while (true) {
Console.WriteLine("This will print forever!");
}Neste caso, a condição é simplesmente true, que sempre é avaliada como true. Assim, o loop será executado indefinidamente, imprimindo a mensagem repetidamente.
Outra maneira de criar um loop infinito é omitindo a condição em um loop for:
for (;;) {
Console.WriteLine("This also prints forever!");
}Aqui, as partes de inicialização, condição e atualização do loop for são todas omitidas. Isso cria um loop que executa para sempre.
Loops infinitos também podem ocorrer involuntariamente, como quando a condição do loop é sempre true devido a um erro de lógica:
int i = 0;
while (i < 10) {
Console.WriteLine("i is: " + i);
// Faltando i++ para incrementar i
}Neste exemplo, a variável i nunca é incrementada, então a condição i < 10 é sempre true. Isso cria um loop infinito que continuará imprimindo "i is: 0" indefinidamente.
Loops infinitos podem ser úteis em alguns casos, como em programas de servidor que precisam continuar em execução até serem interrompidos manualmente. No entanto, eles também podem fazer com que os programas travem ou parem de funcionar se não forem manipulados corretamente.
Folha de consulta
Um loop infinito é um loop que nunca para porque sua condição sempre é avaliada como true.
Loop while infinito intencional:
while (true) {
Console.WriteLine("This will print forever!");
}Loop for infinito com partes omitidas:
for (;;) {
Console.WriteLine("This also prints forever!");
}Loop infinito não intencional (incremento ausente):
int i = 0;
while (i < 10) {
Console.WriteLine("i is: " + i);
// Faltando i++ para incrementar i
}Experimente você mesmo
Esta lição não inclui um desafio de código.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Operadores Parte 1
Operadores AritméticosOperador de MóduloIncremento/DecrementoPós-incremento/DecrementoAtalhos Aritméticos7IO Básico
Saída BásicaInterpolação de StringsLeitura de EntradaParseRevisão - Até 120Revisão - True ou False5Operadores Parte 2
Operadores de ComparaçãoOperadores Lógicos Parte 1Operadores Lógicos Parte 2Recapitulação - Lógica SimplesOperadores Lógicos Parte 33Variáveis Parte 2
VarConstantesConvenções de NomenclaturaRecapitulação - Inicializar VariáveisType Casting6Tomada de Decisão
Estrutura IfIf - ElseEstrutura SwitchOperador TernárioRevisão - If ElseIf - Else Aninhado