Toma de decisiones en C# (if, if-else, if-else-if escalera, if anidado, conmutador, conmutador anidado)

La toma de decisiones en la programación es similar a la toma de decisiones en la vida real. También en programación, un determinado bloque de código debe ejecutarse cuando se cumple alguna condición. 
Un lenguaje de programación utiliza declaraciones de control para controlar el flujo de ejecución del programa en función de ciertas condiciones. Estos se utilizan para hacer que el flujo de ejecución avance y se bifurque en función de los cambios en el estado de un programa.
Las sentencias condicionales de C#: 
 

Declaración IF 
La declaración if verifica la condición dada. Si la condición se evalúa como verdadera, el bloque de código/declaraciones se ejecutará; de lo contrario, no se ejecutará. 
Sintaxis: 
 

if(condition)
     {  
         //code to be executed  
     }  

Nota: Si los corchetes { } no se usan con declaraciones if, la declaración que está justo al lado solo se considera asociada con la declaración if. 
Ejemplo: 
 

if (condition)
   statement 1;
statement 2;

En este ejemplo, solo se considera que la instrucción 1 está asociada con la instrucción if.
Diagrama de flujo: 
 

Ejemplo: 
 

Csharp

// C# program to illustrate if statement
using System;
 
public class GFG {
 
    public static void Main(string[] args)
    {
        string name = "Geek";
        if (name == "Geek") {
            Console.WriteLine("GeeksForGeeks");
        }
    }
}

Producción: 
 

GeeksForGeeks

IF – Sentencia else 
La sentencia if evalúa el código si la condición es verdadera, pero qué pasa si la condición no es verdadera, aquí viene la sentencia else. Le dice al código qué hacer cuando la condición if es falsa.
Sintaxis: 
 

    if(condition)
    {  
      // code if condition is true  
    }
    else
    {  
      // code if condition is false  
    }  
   

Diagrama de flujo: 
 

Ejemplo: 
 

Csharp

// C# program to illustrate
// if-else statement
using System;
 
public class GFG {
 
    public static void Main(string[] args)
    {
        string name = "Geek";
        if (name == "Geeks") {
            Console.WriteLine("GeeksForGeeksr");
        }
        else {
            Console.WriteLine("Geeks");
        }
    }
}

Producción: 
 

Geeks

Instrucción 
if-else-if ladder La instrucción if-else-if ladder ejecuta una condición de varias instrucciones. La ejecución comienza desde arriba y se verifica para cada condición if. Se ejecutará la declaración del bloque if que se evalúa como verdadera. Si ninguna de las condiciones if se evalúa como verdadera, entonces se evalúa el último bloque else. 
Sintaxis: 
 

        if(condition1)
        {  
            // code to be executed if condition1 is true  
        }
        else if(condition2)
        {  
            // code to be executed if condition2 is true  
        }  
        else if(condition3)
        {  
            // code to be executed if condition3 is true  
        }  
        ... 
        else
        {
            // code to be executed if all the conditions are false  
        }  
   

Diagrama de flujo: 
 

Ejemplo: 
 

Csharp

// C# program to illustrate
// if-else-if ladder
using System;
 
class GFG {
 
    public static void Main(String[] args)
    {
        int i = 20;
 
        if (i == 10)
            Console.WriteLine("i is 10");
        else if (i == 15)
            Console.WriteLine("i is 15");
        else if (i == 20)
            Console.WriteLine("i is 20");
        else
            Console.WriteLine("i is not present");
    }
}

Producción: 
 

i is 20

Anidado: instrucción If La declaración  
if dentro de una declaración if se conoce como if anidada. La declaración if en este caso es el destino de otra declaración if o else. Cuando más de una condición debe ser verdadera y una de ellas es la subcondición de la condición principal, se puede usar anidado si.
Sintaxis: 
 

        if (condition1) 
        {
             // code to be executed 
             // if condition2 is true 
             if (condition2) 
             {
                 // code to be executed 
                 // if condition2 is true 
             }
        }

Diagrama de flujo: 
 

Ejemplo:
 

csharp

// C# program to illustrate
// nested-if statement
using System;
 
class GFG {
 
    public static void Main(String[] args)
    {
        int i = 10;
 
        if (i == 10) {
 
            // Nested - if statement
            // Will only be executed if statement
            // above it is true
            if (i < 12)
                Console.WriteLine("i is smaller than 12 too");
            else
                Console.WriteLine("i is greater than 15");
        }
    }
}

Producción: 
 

i is smaller than 12 too

Declaración 
Switch La declaración Switch es una alternativa a las largas escaleras if-else-if. La expresión se verifica para diferentes casos y se ejecuta la única coincidencia. La instrucción break se usa para salir del interruptor. Si no se usa el descanso, el control fluirá a todos los casos debajo de él hasta que se encuentre el descanso o el interruptor llegue a su fin. Hay un caso predeterminado (opcional) al final del cambio, si ninguno de los casos coincide, se ejecuta el caso predeterminado.
Sintaxis: 
 

switch (expression)
 {
case value1: // statement sequence
             break;
case value2: // statement sequence
             break;
.
.
.
case valueN: // statement sequence
             break;
default: // default statement sequence
}

Diagrama de flujo del interruptor – caja: 
 

Flow Diagram of Switch-Case statement

Ejemplo: 
 

Csharp

// C# example for switch case
using System;
 
public class GFG
{
    public static void Main(String[] args)
    {
        int number = 30;
        switch(number)
        {
        case 10: Console.WriteLine("case 10");
                 break;
        case 20: Console.WriteLine("case 20");
                 break;
        case 30: Console.WriteLine("case 30");
                 break;
        default: Console.WriteLine("None matches");
                 break;
        }
    }
}

Producción: 
 

case 30

Interruptor 
anidado El caso de interruptor anidado está permitido en C#. En este caso, el interruptor está presente dentro de otra caja de interruptores. El interruptor interno está presente en uno de los casos en el interruptor principal.
Ejemplo: 
 

Csharp

// C# example for nested switch case
using System;
 
public class GFG
{
    public static void Main(String[] args)
    {
        int j = 5;
 
        switch (j)
        {
            case 5: Console.WriteLine(5);
                    switch (j - 1)
                   {
                    case 4: Console.WriteLine(4);
                            switch (j - 2)
                          {
                            case 3: Console.WriteLine(3);
                                    break;
                         }
                    break;
                }
                break;
            case 10: Console.WriteLine(10);
                     break;
            case 15: Console.WriteLine(15);
                     break;
            default: Console.WriteLine(100);
                     break;
        }
 
    }
}

Producción: 
 

5
4
3

Publicación traducida automáticamente

Artículo escrito por Sam007 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *