
C# If (Cómo funciona para desarrolladores)
En este tutorial, desglosaremos los conceptos de las sentencias if y else, y cómo usarlas de manera efectiva en tus programas de C#. También exploraremos conceptos relacionados como las expresiones booleanas y los operadores condicionales. ¡Así que entremos de lleno!
Entender la sentencia If
La sentencia if es un concepto fundamental en la programación. Se utiliza para tomar decisiones en el código basadas en una cierta condición. La sintaxis básica de una instrucción if en C# es la siguiente:
if (Boolean expression)
{
// Statements to execute if the Boolean expression is true
}If Boolean expression Then
' Statements to execute if the Boolean expression is true
End IfLa sentencia if verifica que la expresión booleana dada se evalúe a true. Si así es, se ejecuta el código dentro del bloque de instrucciones (el código encerrado entre las llaves). Si la expresión booleana se evalúa a false, el código dentro del bloque de la sentencia se omite.
El poder de la sentencia If-Else
Ahora, ¿qué sucede si deseas ejecutar algún otro código cuando la condición if es falsa? Es ahí donde entra en juego la instrucción else opcional. La sintaxis para una sentencia if-else en C# se ve así:
if (Boolean expression)
{
// Statements to execute if the Boolean expression is true
}
else
{
// Statements to execute if the Boolean expression is false
}If Boolean expression Then
' Statements to execute if the Boolean expression is true
Else
' Statements to execute if the Boolean expression is false
End IfEn el caso anterior, si la expresión booleana se evalúa a true, se ejecuta el código del bloque if. Si se evalúa a false, en su lugar se ejecuta el código del bloque else.
Un ejemplo sencillo
Veamos un ejemplo real de cómo utilizar la instrucción if-else de C#. Imagina que estás escribiendo un programa que verifica si una persona es elegible para votar. En la mayoría de los países, la edad para votar es 18 años.
El siguiente ejemplo demuestra cómo usar la instrucción if-else para determinar la elegibilidad para votar:
using System;
class Program
{
static void Main(string[] args)
{
int age = 21;
if (age >= 18)
{
Console.WriteLine("You are eligible to vote!");
}
else
{
Console.WriteLine("Sorry, you are not eligible to vote.");
}
}
}Imports System
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim age As Integer = 21
If age >= 18 Then
Console.WriteLine("You are eligible to vote!")
Else
Console.WriteLine("Sorry, you are not eligible to vote.")
End If
End Sub
End ClassEn el código anterior, primero declaramos una variable entera llamada age y le asignamos el valor de 21. Luego, usamos una sentencia if-else para verificar si la edad es mayor o igual a 18. Si la condición es verdadera, el programa imprime "¡Eres elegible para votar!" en la consola. Si es falsa, imprime "Lo siento, no eres elegible para votar."
Trabajar con expresiones booleanas
En C#, puedes usar varios tipos de expresiones booleanas para crear condiciones más complejas. Algunos operadores condicionales comúnmente usados incluyen:
==: Igualdad!=: Desigualdad<: Menor que>: Mayor que<=: Menor o igual que>=: Mayor o igual que
Veamos un ejemplo. Supongamos que deseas escribir un programa que verifique si un número es positivo, negativo o cero. El siguiente fragmento de código utiliza instrucciones if y operadores condicionales para lograr esto:
using System;
class Program
{
static void Main(string[] args)
{
int number = 0;
if (number > 0)
{
Console.WriteLine("The number is positive.");
}
else if (number < 0)
{
Console.WriteLine("The number is negative.");
}
else
{
Console.WriteLine("The number is zero.");
}
}
}Imports System
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim number As Integer = 0
If number > 0 Then
Console.WriteLine("The number is positive.")
ElseIf number < 0 Then
Console.WriteLine("The number is negative.")
Else
Console.WriteLine("The number is zero.")
End If
End Sub
End ClassEn el ejemplo anterior, primero declaramos una variable entera llamada number y le asignamos el valor de 0. Luego, usamos una sentencia if para verificar si el número es mayor que 0. Para un valor verdadero, imprimimos "El número es positivo." Para valores falsos, pasamos a la sentencia else if, que verifica si el número es menor que 0. Si esta condición es verdadera, imprimimos "El número es negativo." Finalmente, si ninguna de las condiciones anteriores se cumple, llegamos al bloque else, el cual imprime "El número es cero."
Combinación de condiciones con operadores lógicos
En algunos casos, puede que necesites verificar múltiples condiciones a la vez. C# proporciona operadores lógicos para ayudarte a lograr esto. Los operadores lógicos más comúnmente usados son:
&&: AND lógico||: OR lógico!: NOT lógico
Veamos un ejemplo de cómo usar operadores lógicos con instrucciones if. Imagina que estás escribiendo un programa para determinar si una persona califica para un descuento especial en una tienda. El descuento está disponible para clientes que sean ya sea personas mayores (65 años o más) o estudiantes (edad entre 18 y 25 años). Aquí hay un fragmento de código que demuestra cómo usar la instrucción if-else de C# con operadores lógicos para determinar la elegibilidad para el descuento:
using System;
class Program
{
static void Main(string[] args)
{
int age = 23;
bool isStudent = true;
if ((age >= 65) || (isStudent && (age >= 18 && age <= 25)))
{
Console.WriteLine("You are eligible for the discount!");
}
else
{
Console.WriteLine("Sorry, you are not eligible for the discount.");
}
}
}Imports System
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim age As Integer = 23
Dim isStudent As Boolean = True
If (age >= 65) OrElse (isStudent AndAlso (age >= 18 AndAlso age <= 25)) Then
Console.WriteLine("You are eligible for the discount!")
Else
Console.WriteLine("Sorry, you are not eligible for the discount.")
End If
End Sub
End ClassEn el código anterior, primero declaramos una variable entera llamada age y una variable booleana llamada isStudent. Luego usamos una instrucción if-else con operadores lógicos para verificar si la persona califica para el descuento. Si la edad es 65 o más, o si la persona es un estudiante entre 18 y 25, el programa imprime "¡Eres elegible para el descuento!" De lo contrario, imprime "Lo siento, no eres elegible para el descuento."
Generación de PDF con IronPDF: Una aplicación relevante de las sentencias If-Else
Ahora que tienes una comprensión sólida de la instrucción if-else de C#, exploremos una aplicación práctica que involucra la librería IronPDF, que te permite trabajar con archivos PDF en aplicaciones C# de manera fluida.
IronPDF es una poderosa librería .NET que te permite crear, editar y extraer contenido de archivos PDF dentro de tus aplicaciones C#.
En este ejemplo, crearemos un generador de facturas PDF simple que aplica diferentes tipos impositivos basados en la ubicación del cliente. Este escenario proporciona una excelente oportunidad para utilizar las instrucciones if-else.
Primero, instala IronPDF a través de NuGet ejecutando el siguiente comando:
Luego, creemos un programa simple que genere una factura con diferentes tipos impositivos para clientes en diferentes regiones:
using System;
using IronPdf;
class Program
{
static void Main(string[] args)
{
string customerLocation = "Europe";
double taxRate;
// Determine tax rate based on customer location
if (customerLocation == "USA")
{
taxRate = 0.07;
}
else if (customerLocation == "Europe")
{
taxRate = 0.20;
}
else
{
taxRate = 0.15;
}
double productPrice = 100.0;
double totalTax = productPrice * taxRate;
double totalPrice = productPrice + totalTax;
string invoiceContent = $@"
<h1>Invoice</h1>
<p>Product Price: ${productPrice}</p>
<p>Tax Rate: {taxRate * 100}%</p>
<p>Total Tax: ${totalTax}</p>
<p>Total Price: ${totalPrice}</p>
";
// Render the HTML content to a PDF document using IronPDF
var pdf = new ChromePdfRenderer();
var document = pdf.RenderHtmlAsPdf(invoiceContent);
document.SaveAs("Invoice.pdf"); // Save the PDF file locally
}
}Imports System
Imports IronPdf
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim customerLocation As String = "Europe"
Dim taxRate As Double
' Determine tax rate based on customer location
If customerLocation = "USA" Then
taxRate = 0.07
ElseIf customerLocation = "Europe" Then
taxRate = 0.20
Else
taxRate = 0.15
End If
Dim productPrice As Double = 100.0
Dim totalTax As Double = productPrice * taxRate
Dim totalPrice As Double = productPrice + totalTax
Dim invoiceContent As String = $"
<h1>Invoice</h1>
<p>Product Price: ${productPrice}</p>
<p>Tax Rate: {taxRate * 100}%</p>
<p>Total Tax: ${totalTax}</p>
<p>Total Price: ${totalPrice}</p>
"
' Render the HTML content to a PDF document using IronPDF
Dim pdf = New ChromePdfRenderer()
Dim document = pdf.RenderHtmlAsPdf(invoiceContent)
document.SaveAs("Invoice.pdf") ' Save the PDF file locally
End Sub
End ClassEn este ejemplo de código, utilizamos una instrucción if-else para determinar el tipo impositivo adecuado basado en la ubicación del cliente. Creamos la factura PDF desde una cadena HTML usando IronPDF. En C#, podemos utilizar una lista C# para almacenar y manipular elementos, como los precios de productos.

Conclusión
A lo largo de este tutorial, hemos cubierto los fundamentos de la instrucción if-else de C#, explorado varios operadores condicionales y lógicos, y examinado ejemplos de la vida real para comprender mejor el concepto. Incluso demostramos una aplicación práctica usando la poderosa librería IronPDF, que ofrece opciones de prueba gratuita y de licencia.
Recuerda, la práctica es crucial cuando se trata de dominar conceptos de programación. Continúa experimentando con diferentes escenarios, aplicando tus nuevos conocimientos sobre las instrucciones if-else y otros conceptos relacionados.

Jacob Mellor es Director de Tecnología de Iron Software y un ingeniero visionario pionero en la tecnología C# PDF. Como desarrollador original de la base de código principal de Iron Software, ha dado forma a la arquitectura de productos de la empresa desde su creación, transformándola, junto con el director ejecutivo Cameron Rimington, en una empresa de más de 50 personas que presta servicios a la NASA, Tesla y organismos gubernamentales de todo el mundo.
Artículos Relacionados


