Saltar al pie de página
.NET AYUDA

C# If (Cómo funciona para desarrolladores)

En este tutorial, desglosaremos los conceptos de las instrucciones if y else, y cómo utilizarlas eficazmente 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 instrucción 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)
{
    // Statements to execute if the Boolean expression is true
}
If Boolean expression Then
	' Statements to execute if the Boolean expression is true
End If
$vbLabelText   $csharpLabel

La instrucción if verifica que la expresión booleana dada se evalúe como 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 como false, el código dentro del bloque de instrucciones 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 de una instrucción if-else en C# es 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)
{
    // 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 If
$vbLabelText   $csharpLabel

En el caso anterior, si la expresión booleana se evalúa como true, el código en el bloque if se ejecuta. Si se evalúa como false, se ejecuta en su lugar el código en el 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.");
        }
    }
}
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 Class
$vbLabelText   $csharpLabel

En el código anterior, primero declaramos una variable entera llamada age y le asignamos el valor de 21. Luego, usamos una instrucción 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
  • <: Less than
  • >: Mayor que
  • <=: Less than or equal to
  • >=: 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.");
        }
    }
}
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 Class
$vbLabelText   $csharpLabel

En el ejemplo anterior, primero declaramos una variable entera llamada number y le asignamos el valor de 0. Luego utilizamos una instrucción 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 instrucción 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, que 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.");
        }
    }
}
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 Class
$vbLabelText   $csharpLabel

En 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:

Install-Package IronPdf

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
    }
}
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 Class
$vbLabelText   $csharpLabel

En 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.

C# If (Cómo Funciona Para Desarrolladores) Figura 1

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.

Preguntas Frecuentes

¿Cuál es el propósito de una sentencia if en C#?

Una sentencia if en C# se utiliza para ejecutar un bloque de código solo cuando una condición booleana especificada se evalúa como verdadera. Esto es esencial para tomar decisiones en tu programa.

¿Cómo mejoran las sentencias if-else la programación en C#?

Las sentencias if-else en C# permiten a los programadores ejecutar diferentes bloques de código en función de si una condición es verdadera o falsa, lo cual es crucial para manejar varios escenarios lógicos en la programación.

¿Qué papel juegan las expresiones booleanas en las sentencias condicionales de C#?

Las expresiones booleanas son cruciales en las sentencias condicionales de C# porque determinan el valor de verdad que controla el flujo de ejecución en las construcciones if e if-else.

¿Qué operadores condicionales se usan comúnmente en C#?

Los operadores condicionales comunes en C# incluyen '==', '!=', '<', '>', '<=' y '>='. Estos operadores se utilizan para evaluar condiciones dentro de las sentencias if.

¿Cómo se pueden utilizar los operadores lógicos con las sentencias if en C#?

Los operadores lógicos como '&&' (AND), '||' (OR) y '!' (NOT) pueden utilizarse dentro de las sentencias if para combinar múltiples condiciones, permitiendo la evaluación de lógica compleja en C#.

¿Cómo se puede aplicar la lógica condicional en la generación de PDFs con C#?

La lógica condicional con sentencias if-else se puede utilizar en la generación de PDFs para aplicar diferentes formatos o contenidos basados en condiciones específicas, lo que permite la creación dinámica de documentos.

¿Puedes dar un ejemplo de usar sentencias if-else con operadores lógicos?

Un ejemplo de usar sentencias if-else con operadores lógicos es verificar la elegibilidad para descuentos basada en criterios de edad, como calificar como ciudadano mayor o estudiante.

¿Cuál es una forma práctica de practicar el uso de sentencias if-else en C#?

Una forma práctica de practicar las sentencias if-else es creando pequeños programas que impliquen lógica de toma de decisiones, como determinar la elegibilidad para votar basada en la edad.

¿Cómo pueden las sentencias if-else gestionar las tasas de impuestos en un generador de facturas PDF?

En un generador de facturas PDF, las sentencias if-else se pueden usar para aplicar diferentes tasas de impuestos según condiciones como la ubicación o el tipo de cliente, mejorando la precisión y funcionalidad de las facturas.

Jacob Mellor, Director de Tecnología @ Team Iron
Director de Tecnología

Jacob Mellor es Director de Tecnología en Iron Software y un ingeniero visionario que lidera la tecnología PDF en C#. Como el desarrollador original detrás de la base de código central de Iron Software, ha moldeado la arquitectura de productos de la compañía desde ...

Leer más