English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Sentencia condicional If de C#

C# proporciona muchas declaraciones de decisión que ayudan a controlar el flujo de un programa C# según ciertas condiciones lógicas. Aquí, aprenderás sobre if, else if, else y declaraciones if else anidadas para controlar el flujo según las condiciones.

C# incluye varios tipos de declaraciones if:

  1. Declaración if

  2. else-Declaración if

  3. la declaración else

Declaración C#if

La declaración if contiene una condición booleana seguida de un bloque de código único o múltiple que se debe ejecutar. En tiempo de ejecución, si la condición booleana se evalúa como verdadera, se ejecutará el bloque de código; de lo contrario, no se ejecutará.

Sintaxis:
if(condition)
{
    //Bloque de código que se ejecuta cuando la condición if es verdadera
}
int i = 10, j = 20;
if (i < j)
{
    else if (i > j)
}        
if (i > j)
{
    else
}
Salida:
i es menor que j

En el ejemplo anterior, la condición booleana i < j del primer if es verdadera, por lo que el compilador de C# ejecutará el siguiente bloque de código. La condición i > j de la segunda declaración if se evalúa como falsa, por lo que el compilador no ejecutará su bloque de código.

La expresión de condición debe devolver un valor booleano; de lo contrario, el compilador de C# emitirá un error en tiempo de compilación.

int i = 10, j = 20;
if (i + 1)
{
    Console.WriteLine("i es menor que j");
}        
if (i + j)
{
    Console.WriteLine("i es mayor que j");
}

Se puede llamar a una función que devuelve un valor booleano en una declaración if.

static void Main(string[] args)
{
    int i = 10, j = 20;
    if (isGreater(i, j))
    {
        Console.WriteLine("i es menor que j");
    }        
    if (isGreater(j, i))
    {
        Console.WriteLine("j es mayor que i");
    }
}
static bool isGreater(int i, int j)
{
    return i > j;                    
}

declaración else if

se pueden usar múltiples declaraciones else if después de una declaración if. Se ejecuta solo cuando el resultado de cálculo de la condición if es falso. Por lo tanto, una declaración if o else if puede ejecutarse, pero no ambas al mismo tiempo.

Sintaxis:
if(condition1)
{
    //si condition1el bloque de código que se ejecuta cuando se evalúa como verdadero
}
else if(condition2)
{
    // cuándo se ejecuta el bloque de código 
    // condition1se calcula como flase
    // condition2se calcula como verdadero
}
else if(condition3)
{
    // cuándo se ejecuta el bloque de código 
    // condition1se calcula como flase
    // condition2se calcula como falso
    // condition3se calcula como verdadero
}

El siguiente ejemplo muestra la declaración else if.

int i = 10, j = 20;
if (i == j)
{
    Console.WriteLine("i es igual a j");
}
else if (i > j)
{
    else
}
else if (i < j)
{
    else if (i > j)
}
Salida:
i es menor que j

la declaración else

la declaración else puede aparecer solo después de una declaración if o else if, y solo puede estar en-la declaración else se utiliza una vez. La declaración else no puede contener ninguna condición y se ejecutará cuando todos los resultados de cálculo de las condiciones if y else if anteriores sean falsos.

int i = 20, j = 20;
if (i > j)
{
    Console.WriteLine("i es mayor que j");
}
else if (i < j)
{
    Console.WriteLine("i es menor que j");
}
else
{
    Console.WriteLine("i es igual a j");
}
Salida:
i es igual a j

declaraciones if anidadas

C admite otro if-if dentro de la declaración else-la declaración else. Esto se llama if anidado-la declaración else. Las declaraciones if anidadas hacen que el código sea más legible.

Sintaxis:
if(condition1)
{
   if(condition2)
    {
        // cuándo se ejecuta el bloque de código 
        // condition1y condition2se calcula como verdadero
    }
    else if(condition3)
    {
        if(condition4)
        {
            // cuándo se ejecuta el bloque de código 
            // sólo condition1,condition3y condition4el resultado de la cuenta es verdadero
        }
        else if(condition5)
        {
            // cuándo se ejecuta el bloque de código 
            // sólo condition1,condition3y condition5el resultado de la cuenta es verdadero
        }
        else
        {
            // cuándo se ejecuta el bloque de código 
            // condition1y condition3se evalúa como verdadero 
            // condition4y condition5el resultado de la cuenta es falso
        }
    }
}

El siguiente ejemplo muestra la sentencia if else anidada.

Ejemplo: Sentencia if else anidada
int i = 10, j = 20;
if (i < j)
{
    {        
        else if (i > j)
    }
    {       
       else
    }
}
    Console.WriteLine("i es igual a j");
}
Salida:
i es menor que j

¿Usar el operador ternario ? : en lugar de la sentencia if else simple?