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.

Índice de contenidos

    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