Saltar al contenido

Bucles en C#. For, While y Do – While.

Los bucles en C# o estructuras repetitivas, se utilizan para ejecutar instrucciones una o varias veces seguidas dependiendo de si se cumple o no una condición.

Cuando esta condición no se cumpla, el programa dejará de ejecutar el bucle saltará a ejecutar el resto del código. En csharp, existen los siguientes tipos de bucles.

Bucle For en C# o Bucle para…

Esta estructura, comienza dándole un valor determinado a una variable. Mientras esa variable no llegue a tener un valor determinado, se ejecutarán las instrucciones que están en su interior. Esto lo hace incrementando o decrementando la variable a cada vuelta de bucle. Esto tipo de estructura repetitiva, se suele utilizar a menudo para recorrer arrays, matrices o listas de datos. Vamos a ver un ejemplo sobre código.

using System;

namespace Bucles
{
    class Program
    {
        static void Main(string[] args)
        {
            /*En este ejemplo veremos un ejercicio de ejemplo
             * con un bucle for en el que vamos a mostrar
             * por consula los números del 1 al 100*/

            for (byte num = 0; num & lt; 100; num++)
            {
                /* Para num=0 ; mientras num sea menor que 100
                 * incrementamos la variable num en 1
                 * Mostramos un mensaje por consola*/
                Console.WriteLine("El número es " + num);
            }

            /* Cuando salga del bucle es que ya la variable num
             * llego al número 100. Pausamos la consola*/
            Console.ReadKey(true);
        }
    }
}

Bucles en C#. Bucle While o bucle mientras

While podemos traducirlo por mientras. El programa entrará y ejecutará las instrucciones de este bucle cuando se cumpla una condición y siempre y cuando mientras esa condición se cumpla. Este bucle evalúa una condición. Ejecuta las instrucciones y después evalúa si la condición se modifica o no. Debido a esto, debemos tener cuidado, para no crear un bucle infinito. Veamos un ejemplo del bucle While.

using System;

namespace Bucles
{
    class Program
    {
        static void Main(string[] args)
        {

            /*En este ejemplo veremos un ejercicio de ejemplo
             * con un bucle while en el que vamos a mostrar
             * por consula los números del 1 al 100*/

            /* Declaramos una variable y la iniciamos
             * (le asignamos un valor igual a 1).*/
            byte numero = 1;

            while (numero < 100)
            {
                // Mientras el número sea menor que 100
                // Mostramos un mensaje por consola
                Console.WriteLine("El número es el " + numero);

                /* Una vez mostrado el mensaje la variable
                 * sigue valiendo uno. Por lo tanto hay que
                 * incrementar la variable numero
                 * para que valga 2,3,4, etc. Ya que en caso
                 * de no hacerlo crearíamos un bucle infinito,
                 * asi que la incrementamos.*/
                numero++;
            }

            // Cuando salga del bucle es que ya la variable num
            // llego al número 100. Pausamos la consola
            Console.ReadKey(true);
        }
    }
}

Do..While en C#. Bucle hacer..mientras

Con esta estructura nos aseguramos que el bucle se va a ejecutar como mínimo una vez.

Esto es independiente de si una condición se cumple o no. El flujo del programa entrará a ejecutar como mínimo una vez las instrucciones de este bucle.

Una vez ejecutadas, entonces evaluará una condición que se encuenta en el while. Si esta se cumple volverá a ejecutarse nuevamente. El do..While podemos traducirlo como:

  • Do: Hacer (como mínimo una vez.
  • While: Mientras (se cumpla una condición).

Este tipo de bucle lo podemos utilizar por ejemplo para realizar menús personalizados. Veamos un ejemplo.

using System;

namespace Bucles
{
    class Program
    {
        static void Main(string[] args)
        {

            /* En este ejemplo usaremos el bucle do - while
             * Crearemos un menú personalizado que se le mostrará
             * al usuario para que elija una opción.*/

            // Declaramos una variable y la iniciamos en 0.
            byte opcion = 0;

            do // Hacer como mínimo una vez.
            {
                Console.WriteLine("1. Mostrar 100 números con un bucle for");
                Console.WriteLine("2. Mostrar 100 números con un bucle while");
                Console.WriteLine("3. ¿Cuál es el número?");
                Console.WriteLine("4. Introduce un número. ¿Es mayor que cero?");
                Console.WriteLine("5. Salir");

                // Mostramos un mensaje por pantalla
                Console.Write("Introduce un número: ");

                // Lo pasamos a byte y lo guardamos en la variable.
                opcion = byte.Parse(Console.ReadLine());

                // y mientras el número sea menor que 1 o mayor que 5
            } while (opcion < 1 || opcion > 5);

            // Cuando salga del bucle es que ya la variable num
            // llego al número 100. Pausamos la consola
            Console.ReadKey();
        }
    }
}

MÁS INFORMACIÓN