Bucles en C Sharp
SOLUCIONARIO
Bucles en C Sharp
2025-06-07
Por
Occam's Razor

using System;

class Loop {
    static void Main () {
    int i;
    int[] a = new int[10];

    for (i = 0; i < 10; i++) a[i] = 10 + i;
    i = 0;
    while (++i < 10) Console.WriteLine ($"{i} -> {a[i]}");
    do {
        i--;
        Console.Write ($"{i} -> {a[i]}");
        if (i > 4) {
          Console.WriteLine ();
          continue;
        }
        Console.WriteLine (" **");
        if (i == 1) break;
          
    } while ( i > 0);
    
    foreach (int val in a) Console.WriteLine (val);
    }
}

La versión C#, como siempre, muy parecida a su equivalente Java, ambos lenguajes siguiendo el modelo C. Bucles for , while y do .. while siendo for una versión compacta de los bucles while. Además C# usa break y continue para controlar la ejecución del bucle, permitiendo parar el bucle con la primera y pasar al siguiente ciclo con la segunda.

C# también define la palabra clave goto con lo que es posible escribir tus bucles de la siguiente forma:

using System;

class Ex {
        static void Main () {
                int i = 0;
bucle0:
                Console.WriteLine ($"Hola {i}");
                i++;
                if (i == 10) goto final0;
                goto bucle0;
final0:
                Console.WriteLine ("The End");
        }
}

Si bien, nadie te va a recomendar hacerlo así y además es bastante más largo.

SABÍAS QUE?

C# nos permite incluir varias instrucciones en cada uno de los elementos de for de forma similar a lo que nos permite el lenguaje C. Por ejemplo:

int i, j;

for (i =0, j =3, Console.WriteLine ($"INICIO: i={i} j={j}");
     i < j;
     i++, j--, Console.WriteLine ($"PASO: i={i} j={j}"));

Al igual que sucede con Java, C# nos proporciona la palabra clave foreach para iterar de forma sencilla estructuras de datos complejas (concretamente clases que implementen el interface IEnumerable). Además foreach se puede utilizar con instancias de tipos que cumplan las siguientes condiciones:

  • Tipos que poseen el método público GetEnumerator().
  • El tipo de retorno de GetEnumerator tiene una propiedad pública llamada Current y un método público llamado MoveNext() que retorna un booleano..

Podéis escribir bucles infinitos en C# de la misma forma que en C o Java. Aquí tenéis algunos ejemplos:

for (;;) { 
    //repeate esto 
}
while (true) {
    //repite esto
}
do {
  // repite esto
} while (true);

infinito:
    goto infinito

Resumen

  • C# ofrece bucles for, while, do... while
  • C# ofrece la palabra clave break para terminar prematuramente un bucle
  • C# ofrece la palabra clave continue para ejecutar la siguiente iteración del bucle inmediatamente.
  • C# ofrece bucles foreach para recorrer tipos que soportan el interfaz IEnumerable o disponen del método GetEnumerator.
  • C# ofrece la palabra clave goto con la que también se pueden implementar bucles

SOBRE Occam's Razor
Somos una revista libre que intenta explicar de forma sencilla conceptos tecnológicos y científicos de los que no podemos escapar. Al final, todo es más fácil de lo que parece!

 
Tu publicidad aquí :)