Dominando la lógica condicional en C#: If, If-Else, If-ElseIf y sentencias If anidadas
Dominando la lógica condicional en C#: If, If-Else, If-ElseIf y sentencias If anidadas
En este artículo, aprenderemos cómo usar if, if...else, if...else if en C# para controlar el flujo de ejecución del programa.
Probar condiciones es una parte central de cualquier lenguaje de programación. En C#, las sentencias condicionales permiten evaluar expresiones booleanas y decidir qué bloques de código deben ejecutarse. Estas condiciones a menudo se basan en entrada de usuario, estado del sistema, tiempo u otros factores en tiempo de ejecución.
Sentencia if (If-Then) en C#
La forma más simple de lógica condicional en C# es la sentencia if, que ejecuta un bloque de código cuando su expresión booleana se evalúa como true. La sintaxis es sencilla:
if (booleanExpression) {
// código ejecutado cuando booleanExpression es true
}
- La
booleanExpressiondebe devolver true o false. - Si devuelve true, se ejecutan las sentencias dentro de las llaves.
- Si devuelve false, esas sentencias se omiten.
Ejemplo:
if (number < 5) {
number += 5;
}
Aquí, number += 5; se ejecuta solo cuando number es menor que 5.
Funcionamiento de una sentencia if

Ejemplo 1: Sentencia if básica
using System;
namespace Conditional {
class IfStatement {
public static void Main(string[] args) {
int number = 2;
if (number < 5) {
Console.WriteLine($"{number} is less than 5");
}
Console.WriteLine("This statement is always executed.");
}
}
}
Salida:
2 is less than 5 This statement is always executed.
Cambiando number a 10 produce:
This statement is always executed.
Como number < 5 se evalúa a false, el bloque if se omite.
Sentencia if...else (If-Then-Else) en C#
Cuando necesitas manejar ambos resultados de una prueba booleana, añade un bloque else:
if (booleanExpression) {
// ejecutado cuando true
} else {
// ejecutado cuando false
}
Ejemplo:
if (number < 5) {
number += 5;
} else {
number -= 5;
}
La primera rama se ejecuta si number es menor que 5; de lo contrario, la segunda.
Funcionamiento de if...else

Ejemplo 2: Usando if...else
using System;
namespace Conditional {
class IfElseStatement {
public static void Main(string[] args) {
int number = 12;
if (number < 5) {
Console.WriteLine($"{number} is less than 5");
} else {
Console.WriteLine($"{number} is greater than or equal to 5");
}
Console.WriteLine("This statement is always executed.");
}
}
}
Salida con number = 12:
12 is greater than or equal to 5 This statement is always executed.
Con number = 2:
2 is less than 5 This statement is always executed.
Para una alternativa concisa, el operador ternario puede reemplazar if...else simples.
Sentencia if...else if (If-Then-Else If) en C#
Cuando se necesitan evaluar múltiples condiciones, encadena cláusulas else if después del if inicial:
if (condition1) {
// código para condition1
} else if (condition2) {
// código para condition2
} else if (condition3) {
// código para condition3
} else {
// código si todas son falsas
}
La cadena se evalúa de arriba a abajo; la ejecución se detiene en la primera condición true. Si ninguna coincide, se ejecuta el bloque else.
Alternativamente, una sentencia switch puede manejar valores discretos de forma más limpia.
Ejemplo 3: Usando if...else if
using System;
namespace Conditional {
class IfElseIfStatement {
public static void Main(string[] args) {
int number = 12;
if (number < 5) {
Console.WriteLine($"{number} is less than 5");
} else if (number > 5) {
Console.WriteLine($"{number} is greater than 5");
} else {
Console.WriteLine($"{number} is equal to 5");
}
}
}
}
Salida para number = 12:
12 is greater than 5
Cambiando number a 4 o 5 ajustará la salida accordingly.
Sentencias if...else anidadas
Un if...else anidado coloca un bloque condicional dentro de otro, permitiendo lógica de decisión multinivel. El patrón general es:
if (outerCondition) {
if (innerCondition1) {
// código cuando ambos outer e inner son true
} else {
// código cuando outer es true pero inner es false
}
} else {
if (innerCondition2) {
// código cuando outer es false pero inner2 es true
} else {
// código cuando ambos outer e inner2 son false
}
}
Las condiciones anidadas son útiles para comprobaciones paso a paso, como validar una serie de entradas de usuario o calcular el máximo de varios valores.
Ejemplo 4: Encontrar el mayor de tres números
using System;
namespace Conditional {
class Nested {
public static void Main(string[] args) {
int first = 7, second = -23, third = 13;
if (first > second) {
if (first > third) {
Console.WriteLine($"{first} is the largest");
} else {
Console.WriteLine($"{third} is the largest");
}
} else {
if (second > third) {
Console.WriteLine($"{second} is the largest");
} else {
Console.WriteLine($"{third} is the largest");
}
}
}
}
}
Salida:
13 is the largest
Ajusta los valores de entrada para ver cómo se adapta la lógica.
Lenguaje C
- Tecnología del Localizador (Beeper): De Primeras Innovaciones a la Comunicación Bidireccional del Mañana
- Dominando la sentencia switch en C#: Sintaxis, ejemplos y mejores prácticas
- Dominando bucles while y do-while en C#: Sintaxis, ejemplos y mejores prácticas
- Sentencia break en C#: Cómo y cuándo usarla
- Dominando la sentencia continue en C#: Cómo saltar iteraciones de bucles eficazmente
- Entendiendo clases anidadas en C#: Definición, uso y herencia
- Dominando la sintaxis básica de C: Tokens, estructura y punto y coma
- Entendiendo constantes y literales en C: Tipos, uso y mejores prácticas
- Constantes y literales en C#: Tipos, reglas y mejores prácticas
- Sentencias, indentación y comentarios en Python: Guía clara
- Dominando clases anidadas e internas en Java: Tipos, ejemplos y mejores prácticas