Saltar al pie de página
Iron Academy Logo
Aprender C#
Aprender C#

Otras categorías

Entender las sentencias If-Else de C#: Guía para principiantes

Layla Porter
7m 37s

En la programación en C#, la toma de decisiones basada en condiciones es un aspecto fundamental para crear aplicaciones dinámicas y con capacidad de respuesta. Aquí es donde entran en juego las declaraciones if-else. Una sentencia if-else en C# permite que un programa ejecute diferentes bloques de código dependiendo de si una condición especificada es verdadera o falsa.

Esta guía, inspirada en el vídeo 'C# para principiantes Parte 2 - Aprende a escribir una sentencia 'if-else' y un bucle 'while'' de LaylaCodesIt, te introducirá en los fundamentos de la sentencia if-else en C#, el uso de operadores condicionales y lógicos para escribir condiciones booleanas, demostrando cómo hacer que tus programas interactúen de forma inteligente con la entrada del usuario.

Introducción a la lógica condicional

La lógica condicional permite a un programa tomar decisiones en función de determinadas condiciones. El vídeo de Layla presenta el concepto y la sintaxis de la sentencia if-else, un ejemplo de lógica condicional, que ejecuta diferentes bloques de código dependiendo de si una condición especificada es verdadera o falsa.

En el siguiente ejemplo de código, Layla codifica un mensaje de bienvenida para preguntar al usuario si le gusta el queso:

// Asking the user a question and storing their response
Console.WriteLine($"Hello {name}, do you like cheese?");
string doTheyLikeCheese = Console.ReadLine();
// Asking the user a question and storing their response
Console.WriteLine($"Hello {name}, do you like cheese?");
string doTheyLikeCheese = Console.ReadLine();

Simple If-Else Statement in C

A continuación, esta sentencia condicional if-else comprueba la respuesta del usuario y cambia su respuesta de salida en función de lo que haya dicho el usuario. La condición se construye utilizando operadores condicionales y, en función de su resultado, se ejecutan las sentencias dentro de los bloques if-else. He aquí un ejemplo sencillo con una declaración de una sola línea:

// Checking the user's response and providing appropriate output
if (doTheyLikeCheese == "yes")
{
    Console.WriteLine("Here is a lump of cheese.");
}
else
{
    Console.WriteLine("Here is a lump of coal.");
}
// Checking the user's response and providing appropriate output
if (doTheyLikeCheese == "yes")
{
    Console.WriteLine("Here is a lump of cheese.");
}
else
{
    Console.WriteLine("Here is a lump of coal.");
}

Si el usuario dice "sí", el código dentro de la sentencia if mostrará un mensaje ofreciendo un trozo de queso. Si el usuario responde con algo distinto de "sí", el bloque else emitirá "Aquí hay un trozo de carbón"

Problema de distinción entre mayúsculas y minúsculas

Con una sentencia if-else básica, puede surgir un problema común: la distinción entre mayúsculas y minúsculas. Si el usuario escribe "Yes" en lugar de "yes", el programa no lo reconoce como entrada válida. Para resolver esto, Layla utiliza el método ToLower(), que convierte automáticamente el ingreso del usuario a minúsculas y evita el problema de sensibilidad a las mayúsculas.

// Using ToLower() to handle case sensitivity in user input
if (doTheyLikeCheese.ToLower() == "yes")
{
    Console.WriteLine("Here is a lump of cheese.");
}
else
{
    Console.WriteLine("Here is a lump of coal.");
}
// Using ToLower() to handle case sensitivity in user input
if (doTheyLikeCheese.ToLower() == "yes")
{
    Console.WriteLine("Here is a lump of cheese.");
}
else
{
    Console.WriteLine("Here is a lump of coal.");
}

Manejo de condiciones múltiples

A continuación, Layla explica cómo manejar más de dos respuestas posibles utilizando la sentencia else-if. Aquí, el programa comprueba múltiples declaraciones condicionales: si el usuario responde con "sí", "no" o cualquier otra cosa.

// Checking multiple conditions using else-if
if (doTheyLikeCheese.ToLower() == "yes")
{
    Console.WriteLine("Here is a lump of cheese.");
}
else if (doTheyLikeCheese.ToLower() == "no")
{
    Console.WriteLine("Here is a lump of coal.");
}
else
{
    Console.WriteLine("Please give a yes or no answer.");
}
// Checking multiple conditions using else-if
if (doTheyLikeCheese.ToLower() == "yes")
{
    Console.WriteLine("Here is a lump of cheese.");
}
else if (doTheyLikeCheese.ToLower() == "no")
{
    Console.WriteLine("Here is a lump of coal.");
}
else
{
    Console.WriteLine("Please give a yes or no answer.");
}

Como antes, si la expresión booleana de la sentencia if es verdadera, el programa ofrece un trozo de queso si el usuario dice "sí". Sin embargo, en lugar de ofrecer un trozo de carbón a cualquier otra respuesta, en la sentencia else-if, ahora sólo lo hace cuando el usuario responde con un "no". Si el usuario responde con algo que no sea "sí" o "no", la otra parte del programa le pedirá que proporcione una respuesta afirmativa o negativa. Veamos el resultado del código anterior en acción: (Imagen mejorable)

Understanding Csharp If Else Statements 1 related to Manejo de condiciones múltiples

Uso de bucles

Para garantizar que el usuario proporciona una respuesta válida, se introducen bucles. Un bucle puede preguntar repetidamente al usuario hasta que dé una respuesta correcta. Esto se denomina bucle "while", y el siguiente ejemplo muestra cómo funciona:

// Using a while loop to repeatedly ask for valid input
bool hasAnswered = false;

while (!hasAnswered)
{
    // Checking the user's response and setting hasAnswered to true for valid responses
    if (doTheyLikeCheese.ToLower() == "yes")
    {
        Console.WriteLine("Here is a lump of cheese.");
        hasAnswered = true;
    }
    else if (doTheyLikeCheese.ToLower() == "no")
    {
        Console.WriteLine("Here is a lump of coal.");
        hasAnswered = true;
    }
    else
    {
        Console.WriteLine("Please give a yes or no answer.");
        doTheyLikeCheese = Console.ReadLine();
    }
}
// Using a while loop to repeatedly ask for valid input
bool hasAnswered = false;

while (!hasAnswered)
{
    // Checking the user's response and setting hasAnswered to true for valid responses
    if (doTheyLikeCheese.ToLower() == "yes")
    {
        Console.WriteLine("Here is a lump of cheese.");
        hasAnswered = true;
    }
    else if (doTheyLikeCheese.ToLower() == "no")
    {
        Console.WriteLine("Here is a lump of coal.");
        hasAnswered = true;
    }
    else
    {
        Console.WriteLine("Please give a yes or no answer.");
        doTheyLikeCheese = Console.ReadLine();
    }
}

En el ejemplo anterior, el bucle sigue preguntando al usuario hasta que responde "sí" o "no". Aquí puedes verlo en acción cuando se ejecuta el código, a partir del vídeo de Layla:

Understanding Csharp If Else Statements 2 related to Uso de bucles

Enunciado If-Else - Recapitulación

Recapitulemos:

  • Una sentencia if-else puede tomar decisiones en tu código
  • Puedes manejar múltiples condiciones con sentencias else-if
  • Los bucles garantizan que los usuarios respondan correctamente

La lógica condicional es fundamental en el lenguaje de programación C#, así que lo mejor es practicar estos conceptos y empezar a incluirlos en el código. Y esto no es más que el principio. Sentencia if, sentencia else, escalera else-if, if-else dentro de if-else también llamada if-else anidada, sentencia switch - la lógica condicional puede cambiar drásticamente su programa y hay mucho que aprender.

Conclusión

¡Y voilà! Esta es la guía para principiantes sobre las sentencias if-else y los bucles while. Como se mencionó anteriormente, esta guía fue inspirada por LaylaCodesIt - echa un vistazo a su canal para ver demostraciones en vídeo de todo lo anterior y para obtener más información sobre la programación en C#.

Mientras tanto, echa un vistazo a nuestros otros recursos donde comparte nuestros creadores favoritos, tutoriales y recursos de aprendizaje para subir de nivel tus conocimientos de C#. ¡Feliz programación!

Hero Worlddot related to Entender las sentencias If-Else de C#: Guía para principiantes
Hero Affiliate related to Entender las sentencias If-Else de C#: Guía para principiantes

Gana más compartiendo lo que te gusta

¿Creas contenidos para desarrolladores que trabajan con .NET, C#, Java, Python o Node.js? ¡Convierte tu experiencia en un ingreso extra!

Equipo de soporte de Iron

Estamos disponibles online las 24 horas, 5 días a la semana.
Chat
Email
Llámame