AYUDA .NET

C# If (Cómo funciona para desarrolladores)

Actualizado 23 de mayo, 2023
Compartir:

En este tutorial, desglosaremos los conceptos de las sentencias if y else, y cómo utilizarlas eficazmente en tus programas C#. También exploraremos conceptos relacionados como las expresiones booleanas y los operadores condicionales. Entremos de lleno!

Comprender la sentencia If

La sentencia if es un concepto fundamental en 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)
    {
        //  Sentencias a ejecutar si la expresión booleana es verdadera
    }

    if (Boolean expression)
    {
        //  Sentencias a ejecutar si la expresión booleana es verdadera
    }
If Boolean expression Then
		'  Sentencias a ejecutar si la expresión booleana es verdadera
End If
VB   C#

La sentencia if comprueba que la expresión booleana dada sea true. Si lo hace, el código dentro del bloque de sentencia (el código encerrado entre llaves) se ejecuta. Si la expresión booleana se evalúa como false, se omite el código dentro del bloque de sentencia.

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 sentencia if-else en C# es la siguiente


    if (Boolean expression)
    {
        //  Sentencias a ejecutar si la expresión booleana es verdadera
    }
    else
    {
        //  Sentencias a ejecutar si la expresión booleana es falsa
    }

    if (Boolean expression)
    {
        //  Sentencias a ejecutar si la expresión booleana es verdadera
    }
    else
    {
        //  Sentencias a ejecutar si la expresión booleana es falsa
    }
If Boolean expression Then
		'  Sentencias a ejecutar si la expresión booleana es verdadera
	Else
		'  Sentencias a ejecutar si la expresión booleana es falsa
	End If
VB   C#

En el caso anterior, si la expresión booleana se evalúa como true, se ejecuta el código del bloque if. Si se evalúa como false, se ejecuta el código del bloque else.

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
VB   C#

En el código anterior, primero declaramos una variable entera llamada edad y le asignamos el valor 21. A continuación, utilizamos una sentencia if else para comprobar si la edad es mayor o igual que 18. A continuación, utilizamos una sentencia if else para comprobar si la edad es mayor o igual a 18 años. Si la condición es verdadera, el programa imprime "You are eligible to vote!" a 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
  • <: Menos de
  • >: 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
VB   C#

En el ejemplo anterior, primero declaramos una variable entera llamada número y le asignamos el valor 0. A continuación, utilizamos una sentencia if para comprobar 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 comprueba si el número es menor que 0. Si esta condición es verdadera, imprimimos "El número es negativo". Por último, si no se cumple ninguna de las condiciones anteriores, 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 los clientes que sean personas mayores (65 años o más) o estudiantes (edad entre 18 y 25 años). A continuación se muestra un fragmento de código que muestra cómo utilizar la sentencia if else de C# con operadores lógicos para determinar si se puede optar a 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
VB   C#

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 de 65 años o más, o si la persona es un estudiante de entre 18 y 25 años, el programa imprime "Usted tiene derecho al descuento!" De lo contrario, imprime "Lo sentimos, no tiene derecho al descuento".

Generación de PDF con IronPDF Una aplicación relevante de las sentencias If Else

Ahora que ya tiene un conocimiento sólido de la sentencia if else de C#, vamos a explorar una aplicación práctica en la que interviene la sentencia IronPDF biblioteca.

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
VB   C#

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. Creamos el Factura PDF a partir de una cadena HTML. En C#, podemos utilizar un Lista C una potente clase de colección, para almacenar y manipular una serie de elementos, como los precios de los productos.

C# Si (Cómo funciona para los 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 el potente IronPDF biblioteca, que ofrece una prueba gratuita y licencias a partir de $749.

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.

< ANTERIOR
C# Multiline String (Cómo funciona para desarrolladores)
SIGUIENTE >
Instalar NuGet Powershell (Tutorial de cómo funciona para desarrolladores)

¿Listo para empezar? Versión: 2024.7 recién publicada

Descarga gratuita de NuGet Descargas totales: 9,974,197 Ver licencias >
123