Earn More by Sharing What You Love
Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!

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.
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?")
Dim doTheyLikeCheese As String = Console.ReadLine()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" Then
Console.WriteLine("Here is a lump of cheese.")
Else
Console.WriteLine("Here is a lump of coal.")
End IfSi 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"
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 la entrada del usuario a minúsculas y evita el problema de sensibilidad a mayúsculas y minú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" Then
Console.WriteLine("Here is a lump of cheese.")
Else
Console.WriteLine("Here is a lump of coal.")
End IfA 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" Then
Console.WriteLine("Here is a lump of cheese.")
ElseIf doTheyLikeCheese.ToLower() = "no" Then
Console.WriteLine("Here is a lump of coal.")
Else
Console.WriteLine("Please give a yes or no answer.")
End IfComo 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)

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
Dim hasAnswered As Boolean = False
While Not hasAnswered
' Checking the user's response and setting hasAnswered to true for valid responses
If doTheyLikeCheese.ToLower() = "yes" Then
Console.WriteLine("Here is a lump of cheese.")
hasAnswered = True
ElseIf doTheyLikeCheese.ToLower() = "no" Then
Console.WriteLine("Here is a lump of coal.")
hasAnswered = True
Else
Console.WriteLine("Please give a yes or no answer.")
doTheyLikeCheese = Console.ReadLine()
End If
End WhileEn 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:

Recapitulemos:
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.
¡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!
Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!
Join our newsletter, you’ll get exclusive access on article updates. We value your privacy