Menu
Coddy logo textTech

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.

quiz iconTeste seus conhecimentos

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