2018-10-12 19:37:13 +00:00
---
title: If
2019-08-12 16:24:26 +00:00
localeTitle: If
2018-10-12 19:37:13 +00:00
---
2019-08-12 16:24:26 +00:00
# If
2018-10-12 19:37:13 +00:00
La instrucción if ejecuta diferentes bloques de código según las condiciones.
```
2019-08-12 16:24:26 +00:00
if (condicion)
2018-10-12 19:37:13 +00:00
{
2019-08-12 16:24:26 +00:00
// Hace algo cuando la `condicion` es verdadera (true)
2018-10-12 19:37:13 +00:00
}
else
{
2019-08-12 16:24:26 +00:00
// Hace algo cuando `condicion` es falsa (false)
2018-10-12 19:37:13 +00:00
}
```
2019-08-12 16:24:26 +00:00
Cuando la `condicion` es verdadera (true), el código dentro de la sección `if` se ejecuta, de lo contrario `else` lo hará. A veces necesitarías agregar una segunda condición. Para facilitar la lectura, debes usar `else if` en lugar de anidar enunciados `if` . En vez de escribir:
2018-10-12 19:37:13 +00:00
```
2019-08-12 16:24:26 +00:00
if (condicion)
2018-10-12 19:37:13 +00:00
{
2019-08-12 16:24:26 +00:00
// Hace algo cuando `condicion` es verdadera (true)
2018-10-12 19:37:13 +00:00
}
else
{
2019-08-12 16:24:26 +00:00
if (otraCondicion)
2018-10-12 19:37:13 +00:00
{
2019-08-12 16:24:26 +00:00
// Hace algo si `otraCondicion` es verdadera (true) Y `condicion` es falsa (false)
2018-10-12 19:37:13 +00:00
}
else
{
2019-08-12 16:24:26 +00:00
// Hace algo si `condicion` Y `otraCondicion` son falsas (false)
2018-10-12 19:37:13 +00:00
}
}
```
2019-08-12 16:24:26 +00:00
Podrías escribir algo más conciso como:
2018-10-12 19:37:13 +00:00
```
2019-08-12 16:24:26 +00:00
if (condicion)
2018-10-12 19:37:13 +00:00
{
2019-08-12 16:24:26 +00:00
// Hace algo si `condicion` es verdadera (true)
2018-10-12 19:37:13 +00:00
}
2019-08-12 16:24:26 +00:00
else if (otraCondicion)
2018-10-12 19:37:13 +00:00
{
2019-08-12 16:24:26 +00:00
// Hace algo si `otraCondicion` es verdadera (true)
2018-10-12 19:37:13 +00:00
}
else
{
2019-08-12 16:24:26 +00:00
// Hace algo si `condicion` Y `otraCondicion` es falsa (false)
2018-10-12 19:37:13 +00:00
}
```
También es posible verificar si la condición es falsa y actuar sobre ella sin que tenga que tener una declaración else.
```
2019-08-12 16:24:26 +00:00
if(!condicion)
2018-10-12 19:37:13 +00:00
{
2019-08-12 16:24:26 +00:00
// Hace algo si `condicion` es falsa (false)
2018-10-12 19:37:13 +00:00
}
```
```
2019-08-12 16:24:26 +00:00
int numero = 3;
2018-10-12 19:37:13 +00:00
//!= implies that you wish to check if the object's value is not equal to the value next to it
2019-08-12 16:24:26 +00:00
// != implica que deseas verificar si el valor del objeto no es igual al valor junto a él
if(numero !=2)
2018-10-12 19:37:13 +00:00
{
2019-08-12 16:24:26 +00:00
Console.WriteLine("El numero no es 2");
2018-10-12 19:37:13 +00:00
}
```
2019-08-12 16:24:26 +00:00
Ten en cuenta que las `else` y `else if` no son necesarias, mientras que `if` si es obligatorio.
2018-10-12 19:37:13 +00:00
## Ejemplo
```
2019-08-12 16:24:26 +00:00
Console.WriteLine("Quien eres? ");
string nombre = Console.ReadLine();
2018-10-12 19:37:13 +00:00
2019-08-12 16:24:26 +00:00
if (nombre == "John")
2018-10-12 19:37:13 +00:00
{
2019-08-12 16:24:26 +00:00
Console.WriteLine("Hola John!");
2018-10-12 19:37:13 +00:00
}
2019-08-12 16:24:26 +00:00
else if (nombre == "Fabio")
2018-10-12 19:37:13 +00:00
{
2019-08-12 16:24:26 +00:00
Console.WriteLine("Oh, eres tú Fabio :)");
2018-10-12 19:37:13 +00:00
}
else
{
2019-08-12 16:24:26 +00:00
Console.WriteLine("Oh! pensé que eras John o Fabio. Bueno, es un placer conocerte {0}!", nombre);
2018-10-12 19:37:13 +00:00
}
2019-08-12 16:24:26 +00:00
/* Corre y escribe algunos nombres:
-> Si nombre es "John", entonces el output es "Hi John!"
-> Si nombre es "Fabio", entonces el output es "Oh, it's you Fabio :)"
-> Si nombre no es "John" noi "Fabio", el output es "Oh! pensé que eras John o Fabio. Bueno, es un placer conocerte {0}!" donde {0} contiene nombre.
2018-10-12 19:37:13 +00:00
*/
```
2019-08-12 16:24:26 +00:00
La oración `if` necesita un resultado booleano, es decir, verdadero o falso. En algunos lenguajes de programación, varios tipos de datos se pueden convertir automáticamente en booleanos, pero en C#, tienes que hacer que el resultado sea específicamente booleano. Por ejemplo, no puede usar if (número), pero puede comparar número con algo, para generar un verdadero (true) o falso (false).