Ciclos infinitos en C#
Los ciclos son funciones muy útiles en varias tareas, pero hay que saber utilizarlas, en algún momento pude que generes ciclos infinitos en C#.
Los ciclos infinitos pueden causar varios problemas a tu aplicación, como son:
- Procesos de carga interminables.
- Errores de compilación.
- Consumo excesivo de memoria del equipo.
- Apagado del equipo en casos extremos.
Veamos cómo se pueden hacer los ciclos infinitos para evitar cometerlos y por supuesto no tener los problemas mencionados.
Ciclo infinito con FOR
El ciclo for es una función que realiza un proceso repetitivamente hasta que se cumpla una condición.
Sin embargo, si la condición nunca se cumple se puede generar un ciclo infinito, veamos el ejemplo siguiente:
for (int i = 0; i < 1; i++)
{
i = i - 1;
Console.WriteLine("el valor de i= "+ i);
}
Podemos observar que i nunca llega a ser mayor que uno, en consecuencia, el ciclo nunca puede terminar.
Ciclo infinito con WHILE
Con este ciclo sucede algo similar que con el ciclo for, este ciclo ejecuta el mismo proceso hasta que se cumpla la condición que lo detenga.
En el ejemplo siguiente se genera un ciclo infinito:
int n = 0;
while (n<1)
{
Console.WriteLine("1 si es menor a 2");
}
La variable n tiene el valor de 0, sin embargo, dentro del ciclo en ningún momento se le cambia el valor para que supere 1.
Podría interesarte Generar contraseñas aleatorias en C#
Observaciones
Haz las pruebas de los ejemplos anteriores en una aplicación de consola y observa el número de veces que se escribe el resultado en consola.
En tan solo unos segundos se generan cientos de líneas en consola, continuara hasta que se consuma la memoria del equipo.
Con los ciclos anteriores pudimos observar cómo se generan los ciclos infinitos, también es posible generarlos con los ciclos:
- Do while
- Foreach
Sin importar el ciclo es importante definir bien en qué momento detenerse para evitar algún problema de rendimiento.