for y while en C# sin errores

Resumen

Los bucles en C# te permiten ejecutar instrucciones repetidas veces sin escribir el mismo código una y otra vez. Aquí verás cómo funcionan for y while con .NET, cuándo conviene cada uno y qué detalles cuidar para evitar errores comunes al iterar.

¿Qué es un bucle en C# y para qué sirve?

Un bucle es una estructura que ejecuta un bloque de código de forma automática las veces que necesites. En lugar de escribir diez veces la misma línea, defines la condición y dejas que el lenguaje haga el trabajo.

En el ejercicio se crea un proyecto nuevo con dotnet new console llamado ciclos, se abre Program.cs y se borra el contenido para empezar limpio. A partir de ahí, todo gira alrededor de una variable llamada contador con valor 10, que sirve como tope para iterar.

¿Qué hace un bucle for? Repite un bloque de código mientras se cumpla una condición, usando una variable de control que se inicializa, se evalúa y se incrementa en cada vuelta.

¿Cómo se escribe un for en C# paso a paso?

La estructura for necesita tres argumentos: la variable inicial, la condición y el incremento. En el ejemplo se escribe for (int i = 0; i < contador; i++) y dentro se imprime el valor con Console.WriteLine($"contador {i}").

La variable suele llamarse i por convención, probablemente por iteration. Puedes renombrarla, pero la mayoría de desarrolladores la deja así. Lo importante es entender qué pasa en cada parte:

  • Inicialización: declaras int i = 0 o el valor desde el que arrancas.
  • Condición: mientras i < contador sea verdadero, el bucle sigue.
  • Incremento: i++ suma uno a i en cada vuelta.

Usar {i} entre llaves dentro del string es equivalente a concatenar con el signo +. Es solo una forma más limpia de inyectar el valor.

¿Por qué mi for empieza en 0 y termina en 9?

Aquí viene el detalle que más confunde al principio. Si inicializas i = 0 y la condición es i < 10, el bucle se ejecuta 10 veces, pero los valores impresos van del 0 al 9. Son 10 iteraciones, sí, pero el último número que ves es 9.

Tienes dos formas de corregirlo según lo que necesites mostrar:

  1. Inicializar la variable en 1 en lugar de 0, lo que te da nueve iteraciones del 1 al 9.
  2. Cambiar el operador a i <= contador, así el bucle corre del 1 al 10 completo.

Ese pequeño cambio entre < y <= marca toda la diferencia cuando quieres incluir el valor final.

¿Cuándo usar while en lugar de for en .NET?

El bucle while cumple la misma función, pero su sintaxis se centra solo en la condición. En el ejemplo se reutiliza la variable contador con valor 10 y se escribe while (contador > 0), imprimiendo el valor y haciendo contador-- en cada vuelta.

Esto invierte la lógica: en vez de incrementar de 1 a 10, decrementa de 10 a 1. Al ejecutar dotnet run desde la carpeta del proyecto, ves primero la salida del for (1 a 10) y luego la del while (10 a 1).

¿Cuál es la diferencia entre for y while? El for agrupa inicialización, condición e incremento en una sola línea. El while solo evalúa la condición y tú gestionas el cambio de la variable dentro del cuerpo.

¿Qué bucle conviene en programación con C#?

La respuesta honesta es que ambos sirven para casi todo. Existen casos muy específicos donde uno se ajusta mejor que el otro, pero en el día a día terminarás eligiendo el que más cómodo te resulte.

La recomendación es experimentar con los dos. Escríbelos, cámbiales el operador, prueba con incrementos y decrementos, y observa cómo se comportan. Sin darte cuenta te quedarás con uno y lo usarás de forma natural en tus aplicaciones.

El bucle for también puede recorrer arrays u otras colecciones, no se limita a enteros o strings. Esa flexibilidad lo hace muy útil cuando ya tienes una estructura de datos y necesitas pasar por cada elemento.

Conceptos clave que aparecen en la práctica

Algunos elementos técnicos que vale la pena tener claros mientras practicas con dotnet run:

  • Comando dotnet new console [0:30]: crea un proyecto de consola nuevo en .NET.
  • Variable de iteración i [1:25]: convención para nombrar el contador interno del bucle.
  • Operador i++ [1:55]: incrementa en uno el valor de la variable en cada vuelta.
  • Interpolación con {} [2:15]: inserta variables dentro de un string sin concatenar con +.
  • Operador <= [3:40]: incluye el valor límite en la condición del bucle.
  • Operador -- [4:45]: decrementa en uno el valor de la variable.

¿Cuál de los dos bucles te resulta más natural al escribir? Cuéntame en los comentarios si prefieres for o while y por qué.