Cadena If-Else
Podemos agregar condiciones adicionales usando la palabra clave else if
. Las condiciones adicionales se evalúan en caso de que las condiciones anteriores no se cumplan.
if (expression)
{
// code if first condition is met
}
else if (expression)
{
// code if second condition is met
} else
{
// code if no condition is met
}
Consideremos un ejemplo con una cadena if else
:
main.cs
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value_1 = 9; int value_2 = 7; if(value_1 < value_2) { Console.WriteLine("Value 1 is smaller than Value 2"); } else if(value_1 > value_2) { Console.WriteLine("Value 1 is bigger than Value 2"); } else if(value_1 == value_2) { Console.WriteLine("Value 1 is equal to Value 2"); } } } }
En el programa anterior, encadenamos condiciones usando if-else if. Esto se denomina encadenamiento condicional. Se evalúa la primera condición value_1 < value_2
. Como es false
, el programa pasa a la siguiente condición value_1 > value_2
, que es true
y, por lo tanto, ejecuta su bloque de código y detiene la ejecución del resto de la cadena.
La característica principal del encadenamiento condicional es que detiene la ejecución de la cadena tan pronto como se cumple una condición.
Considere el siguiente código:
main.cs
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value = 10; if(value > 5) { Console.WriteLine("Value is bigger than 5"); } else if(value > 7) { Console.WriteLine("Value is bigger than 7"); } else if(value > 9) { Console.WriteLine("Value is bigger than 9"); } } } }
Aunque las tres condiciones son true
, la ejecución se detiene en la primera condición ya que es una cadena.
Ahora intentemos escribirlo usando simples palabras clave if
sin encadenar:
main.cs
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value = 10; if(value > 5) { Console.WriteLine("Value is bigger than 5"); } if(value > 7) { Console.WriteLine("Value is bigger than 7"); } if(value > 9) { Console.WriteLine("Value is bigger than 9"); } } } }
En el caso anterior, cada condición se evalúa de forma individual y no se trata como parte de una cadena, por lo tanto, se muestran las tres sentencias en la salida.
También podemos agregar la palabra clave else
al final de la cadena if-else
, la cual se ejecutará si ninguna condición se cumple:
main.cs
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value_1 = 9; int value_2 = 7; if(value_1 < value_2) { Console.WriteLine("Value 1 is smaller than Value 2"); } else if(value_1 > value_2) { Console.WriteLine("Value 1 is bigger than Value 2"); } else { Console.WriteLine("Value 1 is equal to Value 2"); } } } }
¡Gracias por tus comentarios!