Dominando bucles while y do-while en C#: Sintaxis, ejemplos y mejores prácticas
Dominando bucles while y do-while en C#
Explora cómo implementar bucles while y do…while en C#, comprende sus diferencias y aprende mejores prácticas para escribir código limpio y eficiente.
En desarrollo de software, la ejecución repetitiva de un bloque de código es común, ya sea para iterar sobre colecciones, manejar entrada de usuario o realizar cálculos. La repetición manual es propensa a errores e ilegible, los bucles proporcionan una solución concisa y escalable. Este artículo profundiza en los dos constructores de bucle principales en C# —while y do…while— y destaca sus comportamientos distintos.
Bucle while en C#
La palabra clave while inicia un bucle que evalúa su condición antes de ejecutar el cuerpo. Su sintaxis es similar a la de muchos lenguajes modernos:
while (testExpression) {
// cuerpo del bucle
}
Cómo funciona el bucle while
- Se evalúa una expresión booleana
testExpression. - Si la expresión es
true, el cuerpo del bucle se ejecuta, luego la expresión se reevalúa. - El bucle termina cuando la expresión se vuelve
false.
Diagrama de flujo del bucle while
Ejemplo 1: Bucle while básico
using System;
namespace Loop {
class WhileLoop {
public static void Main(string[] args) {
int i = 1;
while (i <= 5) {
Console.WriteLine("C# While Loop: Iteration {0}", i);
i++;
}
}
}
}
Salida:
C# While Loop: Iteration 1 C# While Loop: Iteration 2 C# While Loop: Iteration 3 C# While Loop: Iteration 4 C# While Loop: Iteration 5
El bucle inicia con i = 1. Continúa mientras i sea menor o igual a 5, incrementando i cada ciclo. Cuando i se vuelve 6, la condición falla y el bucle sale.
Ejemplo 2: Sumando los primeros cinco números naturales
using System;
namespace Loop {
class WhileLoop {
public static void Main(string[] args) {
int i = 1, sum = 0;
while (i <= 5) {
sum += i;
i++;
}
Console.WriteLine("Sum = {0}", sum);
}
}
}
Salida:
Sum = 15
En este ejemplo, el bucle acumula el valor de i en sum hasta que i supera 5. El resultado final es 15, confirmando la fórmula conocida para la suma de los primeros cinco números naturales.
Bucle do…while en C#
El constructo do…while es similar a while, pero la condición se evalúa después de que el cuerpo del bucle se ejecuta. Esto garantiza que el cuerpo se ejecute al menos una vez, independientemente de la condición inicial.
do {
// cuerpo del bucle
} while (testExpression);
Cómo funciona el bucle do…while
- El cuerpo del bucle se ejecuta primero.
- Se evalúa
testExpression. - Si
true, el cuerpo se repite. - Cuando
false, el bucle termina.
Diagrama de flujo do…while
Ejemplo 3: Tabla de multiplicar con do…while
using System;
namespace Loop {
class DoWhileLoop {
public static void Main(string[] args) {
int i = 1, n = 5, product;
do {
product = n * i;
Console.WriteLine("{0} * {1} = {2}", n, i, product);
i++;
} while (i <= 10);
}
}
}
Salida:
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
El programa imprime la tabla del 5 del 1 al 10. Observa que el cuerpo del bucle se ejecuta antes de comprobar i <= 10, asegurando que ocurran todas las 10 iteraciones.
Bucles infinitos en C#
Cuando la condición del bucle nunca se vuelve false, el bucle se ejecuta indefinidamente. Estos bucles infinitos son intencionales en escenarios como bucles de eventos, bucles de juegos o servicios de larga duración.
Bucle while infinito
while (true) {
// cuerpo del bucle
}
Bucle do…while infinito
do {
// cuerpo del bucle
} while (true);
Usa bucles infinitos con moderación y siempre proporciona una estrategia de salida clara (p.ej., una sentencia break o una condición externa) para evitar agotamiento de recursos.
Lenguaje C
- Dominando Bucles WHILE en Programación CNC SINUMERIK 840D
- Entendiendo palabras clave e identificadores en C#: Reglas, listas y mejores prácticas
- Dominando la precedencia y asociatividad de operadores en C#: Guía práctica
- Clases y objetos en C#: Fundamentos para POO robusta
- Dominando clases y métodos abstractos en C#: Guía práctica
- Entendiendo clases y métodos parciales en C#
- Dominando clases y métodos sealed en C#: Cuándo usarlos, ejemplos claros y mejora de seguridad y rendimiento
- Bucles While vs. Do-While: Comparación clara con ejemplos prácticos
- Entendiendo constantes y literales en C: Tipos, uso y mejores prácticas
- Constantes y literales en C#: Tipos, reglas y mejores prácticas
- Comprobador de Números Palíndromos en Java: Algoritmos con Bucles While y For