Dominando Loops While e Do-While em C#: Sintaxe, Exemplos e Boas Práticas
Dominando Loops While e Do-While em C#
Explore como implementar loops while e do…while em C#, entenda suas diferenças e aprenda boas práticas para escrever código limpo e eficiente.
No desenvolvimento de software, a execução repetitiva de um bloco de código é comum, seja para iterar sobre coleções, lidar com entrada do usuário ou realizar cálculos. Embora a repetição manual seja propensa a erros e ilegível, loops fornecem uma solução concisa e escalável. Este artigo aborda os dois principais construtos de loop em C# — while e do…while — e destaca seus comportamentos distintos.
Loop while em C#
A palavra-chave while inicia um loop que avalia sua condição antes de executar o corpo. Sua sintaxe espelha a de muitas linguagens modernas:
while (expressaoTeste) { // corpo do loop }
Como o Loop while Funciona
- Uma expressão booleana
expressaoTesteé avaliada. - Se a expressão for
true, o corpo do loop executa, então a expressão é reavaliada. - O loop termina quando a expressão se torna
false.
Fluxograma do While
Exemplo 1: Loop while Básico
using System; namespace Loop { class WhileLoop { public static void Main(string[] args) { int i = 1; while (i <= 5) { Console.WriteLine("Loop While C#: Iteração {0}", i); i++; } } } }
Saída:
Loop While C#: Iteração 1 Loop While C#: Iteração 2 Loop While C#: Iteração 3 Loop While C#: Iteração 4 Loop While C#: Iteração 5
O loop começa com i definido como 1. Continua enquanto i for menor ou igual a 5, incrementando i a cada ciclo. Quando i se torna 6, a condição falha e o loop sai.
Exemplo 2: Somando os Primeiros Cinco Números Naturais
using System; namespace Loop { class WhileLoop { public static void Main(string[] args) { int i = 1, soma = 0; while (i <= 5) { soma += i; i++; } Console.WriteLine("Soma = {0}", soma); } } }
Saída:
Soma = 15
Neste exemplo, o loop acumula o valor de i em soma até que i exceda 5. O resultado final é 15, confirmando a fórmula conhecida para a soma dos primeiros cinco números naturais.
Loop do…while em C#
O construto do…while é similar ao while, mas a condição é avaliada após o corpo do loop executar. Isso garante que o corpo execute pelo menos uma vez, independentemente da condição inicial.
do { // corpo do loop } while (expressaoTeste);
Como o Loop do…while Funciona
- O corpo do loop executa primeiro.
- A
expressaoTesteé avaliada. - Se
true, o corpo repete. - Quando
false, o loop termina.
Fluxograma do Do…While
Exemplo 3: Tabuada Usando do…while
using System; namespace Loop { class DoWhileLoop { public static void Main(string[] args) { int i = 1, n = 5, produto; do { produto = n * i; Console.WriteLine("{0} * {1} = {2}", n, i, produto); i++; } while (i <= 10); } } }
Saída:
5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 5 * 6 = 30 5 * 7 = 35 5 * 8 = 40 5 * 9 = 45 5 * 10 = 50
O programa imprime a tabuada do 5 de 1 a 10. Note que o corpo do loop executa antes de verificar i <= 10, garantindo que todas as 10 iterações ocorram.
Loops Infinitos em C#
Quando a condição do loop nunca se torna false, o loop executa indefinidamente. Tais loops infinitos são intencionais em cenários como loops de eventos, loops de jogos ou serviços de longa duração.
Loop while Infinito
while (true) { // corpo do loop }
Loop do…while Infinito
do { // corpo do loop } while (true);
Use loops infinitos com parcimônia e sempre forneça uma estratégia de saída clara (ex: instrução break ou condição externa) para evitar exaustão de recursos.
Linguagem C
- Entendendo Palavras-chave e Identificadores em C#: Regras, Listas e Boas Práticas
- Classes e Objetos em C#: Fundamentos para POO Robusta
- Dominando Classes e Métodos Abstratos em C#: Guia Prático
- Entendendo Classes e Métodos Parciais em C#
- Dominando Classes e Métodos Sealed em C#: Quando Usar, Exemplos Claros e Segurança de Código
- While vs. Do-While: Comparação Clara com Exemplos Práticos
- Verificador de Número Palíndromo em Java: Algoritmos com While e For Loops
- Entendendo Constantes e Literais em C: Tipos, Uso e Boas Práticas
- Dominando Constantes e Literais em C#: Tipos, Regras e Boas Práticas
- Dominando Laços WHILE na Programação CNC SINUMERIK 840D