AYUDA .NET

C# If (Cómo funciona para desarrolladores)

Chipego
Chipego Kalinda
23 de mayo, 2023
Compartir:

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 vamos a sumergirnos de inmediato!

Comprender la sentencia If

La sentencia if es un concepto fundamental en la programación. Se utiliza para tomar decisiones en código basadas en una determinada condición. La sintaxis básica de una sentencia 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 declaración if verifica que la expresión booleana dada evalúe a true. Si lo hace, se ejecuta el código dentro del bloque de instrucciones (el código encerrado entre llaves). Si la expresión booleana se evalúa como false, el código dentro del bloque de declaración se omite.

El poder de la sentencia If-Else

Ahora, ¿qué pasa si quieres ejecutar algún otro código cuando la condición if es falsa? Ahí es donde entra en juego la sentencia else opcional. La sintaxis de una instrucción 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)
    {
        // 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 del bloque if se ejecuta. Si se evalúa como false, el código en el bloque else se ejecuta en su lugar.

Un ejemplo sencillo

Veamos un ejemplo real de uso de la sentencia if-else de C#. Imagina que estás escribiendo un programa que comprueba si una persona puede votar. En la mayoría de los países, la edad para votar es de 18 años.

El siguiente ejemplo muestra cómo utilizar la sentencia 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 declaració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 falso, imprime "Lo sentimos, no puede votar".

Trabajar con expresiones booleanas

En C#, puede utilizar varios tipos de expresiones booleanas para crear condiciones más complejas. Algunos de los operadores condicionales más utilizados son:

  • ==: Igualdad
  • !=: Desigualdad
  • <: Menor que
  • >: Mayor que
  • <=: Menor o igual que
  • >=: Mayor o igual que

    Veamos un ejemplo. Supongamos que quieres escribir un programa que compruebe si un número es positivo, negativo o cero. El siguiente fragmento de código utiliza sentencias if y operadores condicionales para conseguirlo:

    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 usamos una declaració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 declaració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 ser necesario comprobar varias condiciones a la vez. C# proporciona operadores lógicos para ayudarle a conseguirlo. Los operadores lógicos más utilizados son:

  • &&: AND lógico
  • **`

    **: OR lógico

  • !: NOT lógico

    Veamos un ejemplo de uso de operadores lógicos con sentencias if. Imagine que está escribiendo un programa para determinar si una persona tiene derecho a un descuento especial en una tienda. El descuento está disponible para clientes que sean personas mayores (65 años o más) o estudiantes (entre 18 y 25 años). A continuación se muestra un fragmento de código que demuestra cómo utilizar la sentencia if-else de C# con operadores lógicos para determinar la elegibilidad de un 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)(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. A continuación, utilizamos una sentencia if-else con operadores lógicos para comprobar si la persona tiene derecho al descuento. Si la edad es 65 o más, o si la persona es un estudiante entre 18 y 25 años, 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 un conocimiento sólido sobre la declaración if-else en C#, exploremos una aplicación práctica que involucra la biblioteca IronPDF, la cual te permite trabajar con archivos PDF en aplicaciones C# de manera fluida.

IronPDF es una potente biblioteca .NET que le permite crear, editar y extraer contenido de archivos PDF dentro de sus aplicaciones C#.

En este ejemplo, crearemos un sencillo generador de facturas en PDF que aplica diferentes tipos impositivos en función de la ubicación del cliente. Este escenario ofrece una excelente oportunidad para utilizar sentencias if-else.

En primer lugar, instale IronPDF a través de NuGet ejecutando el siguiente comando:

Install-Package IronPdf

A continuación, vamos a crear un programa sencillo que genere una factura con diferentes tipos impositivos para clientes de diferentes regiones:

    using System;
    using IronPdf;

    class Program
    {
        static void Main(string [] args)
        {
            string customerLocation = "Europe";
            double taxRate;

            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>
            ";

            var pdf = new ChromePdfRenderer();
            var document = pdf.RenderHtmlAsPdf(invoiceContent);
            document.SaveAs("Invoice.pdf");
        }
    }
    using System;
    using IronPdf;

    class Program
    {
        static void Main(string [] args)
        {
            string customerLocation = "Europe";
            double taxRate;

            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>
            ";

            var pdf = new ChromePdfRenderer();
            var document = pdf.RenderHtmlAsPdf(invoiceContent);
            document.SaveAs("Invoice.pdf");
        }
    }
Imports System
	Imports IronPdf

	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			Dim customerLocation As String = "Europe"
			Dim taxRate As Double

			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>
            "

			Dim pdf = New ChromePdfRenderer()
			Dim document = pdf.RenderHtmlAsPdf(invoiceContent)
			document.SaveAs("Invoice.pdf")
		End Sub
	End Class
$vbLabelText   $csharpLabel

En este ejemplo de código, utilizamos una sentencia if-else para determinar el tipo impositivo adecuado en función de la ubicación del cliente. Crearemos la factura PDF desde una cadena HTML usando IronPDF. En C#, podemos utilizar una Lista de C# para almacenar y manipular elementos, como los precios de los productos.

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

Conclusión

A lo largo de este tutorial, hemos cubierto los fundamentos de la sentencia 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 utilizando la poderosa biblioteca IronPDF, que ofrece una prueba gratuita y opciones de licencia.

Recuerda que la práctica es crucial para dominar los conceptos de programación. Sigue experimentando con diferentes escenarios, aplicando tus nuevos conocimientos sobre las sentencias if-else y otros conceptos relacionados.

Chipego
Ingeniero de software
Chipego tiene una habilidad natural para escuchar que le ayuda a comprender los problemas de los clientes y a ofrecer soluciones inteligentes. Se unió al equipo de Iron Software en 2023, después de estudiar una licenciatura en Tecnología de la Información. IronPDF e IronOCR son los dos productos en los que Chipego se ha centrado, pero su conocimiento de todos los productos crece día a día, a medida que encuentra nuevas formas de ayudar a los clientes. Disfruta de lo colaborativa que es la vida en Iron Software, con miembros del equipo de toda la empresa que aportan su variada experiencia para contribuir a soluciones eficaces e innovadoras. Cuando Chipego está lejos de su escritorio, a menudo se le puede encontrar disfrutando de un buen libro o jugando al fútbol.
< ANTERIOR
C# Multiline String (Cómo funciona para desarrolladores)
SIGUIENTE >
Instalar NuGet Powershell (Tutorial de cómo funciona para desarrolladores)