Explicación y uso de IF (ejemplos en Visual Studio MacOS)
Escrito por: TiraCodigo
Etiquetas: Tutorial, Visual Studio, Mac
Hemos llegado al tema donde veremos el uso de la sentencia IF, la cual utilizamos para validar una expresión, en donde, de ser verdadera ejecutamos una seccion del código y si la sentencia es falsa, ejecutamos una sección del código, lo cual seria de la siguiente forma:
if (sentencia)
{
//Sección del código que se ejecuta de ser VERDADERA la sentencia
} else {
//Sección del código que se ejecuta de ser FALSA la sentencia
}
Así de fácil, ahora, los operadores que podemos utilizar están en el tema que ya vimos anteriormente, el cual puedes ver aqui, veamos a continuación unos ejemplos
var a = 1
var b = 5
if(a < 5){
// Entraría en esta sección por que es la variable "a" tiene un valor de 1 el cual es menor que 5, entonces la sentencia es VERDADERA
} else {
// Aqui no entraria
}
if(a + b == 10){
// No entraria en esta sección
} else {
// Entraría en esta sección por que a mas b es igual a 6, por lo tanto es FALSO que es igual a 10
}
if(a != b){
// Entraría en esta sección ya que el valor de a es de 1 y el valor de b es de 5, por lo tanto es VERDADERO, ya que 1 no es igual 5
} else {
// Aqui no entraria
}
Para ver un ejemplo funcionamiento, podemos retomar el proyecto del ejemplo anterior, el cual puedes ver aqui, y modificarlo para hacer una validación, donde mostremos si el usuario es mayor de edad o menor de edad, siendo que una persona es mayor de edad cuando su edad es mayor o igual a 18
using System;
namespace CapturaDatos
{
class MainClass
{
public static void Main(string[] args)
{
int dia;
int mes;
int ano;
// Obtenemos la información del usuario.
Console.WriteLine("Favor de introducir su nombre completo");
string Nombre = Console.ReadLine();
Console.WriteLine("\nFavor de indicar su fecha de nacimiento \nSe le solicitaran solo numeros, ¿en que dia nacio?");
int.TryParse(Console.ReadLine(), out dia);
Console.WriteLine("\n¿En que mes nacio?");
int.TryParse(Console.ReadLine(), out mes);
Console.WriteLine("\n¿En que año nacio?");
int.TryParse(Console.ReadLine(), out ano);
Console.WriteLine("\n¿En que ciudad nacio?");
string Ciudad = Console.ReadLine();
TimeSpan total = DateTime.Now - new DateTime(ano,mes,dia);
// Sacamos la edad.
int edad = total.Days/365;
// Mostramos mensaje con los datos.
Console.WriteLine("\n\n" + Nombre + " originario de la ciudad de " + Ciudad + ", el cual al dia de hoy tiene " + edad + " años");
if(edad>=18){
Console.WriteLine("El usuario es mayor de edad");
}else{
Console.WriteLine("El usuario es menor de edad");
}
}
}
}
Si lo ejecutamos, y metemos datos de un usuario que nació en 1980 deberíamos de decir que es mayor de edad:
Si realizamos otra prueba donde un usuario nació en el año 2000, nos debería decir que es menor de edad:
Tambien podemos evaluar varias condiciones dentro de un IF, esto lo hacemos utilizando los operadores lógicos and, or, etc, los cuales aplicamos aqui, por ejemplo:
si tenemos las variables:
a = 1
b = 5
c = 8
Y preguntamos
- Si "a" es menor a 5 y "a" mas "c" es igual a 9
if (a<5 && a + c == 9)
- Si "a" es mayor o igual a 1 pero menor o igual a 10
if (a>=1 && a <= 10)
- Si "a" es igual a 1 o "b" es igual 5, pero sumados no es mayor a 10
if ((a==1 || b==5) && a+b< 10)
Si todo lo anterior lo hiciéramos código quedaría lo siguiente:
using System;
namespace SentenciaIf
{
class MainClass
{
public static void Main(string[] args)
{
var a = 1;
var b = 5;
var c = 8;
Console.WriteLine("Tenemos los siguientes valores:");
Console.WriteLine("a = " + a);
Console.WriteLine("b = " + b);
Console.WriteLine("c = " + c);
Console.WriteLine("\n");
if (a < 5 && a + c == 9){
Console.WriteLine("\"a\" es menor a 5 y \"a\" mas \"c\" es igual a 9");
}else{
Console.WriteLine("La sentencia \"a\" es menor a 5 y \"a\" mas \"c\" es igual a 9 es falsa");
}
if (a >= 1 && a <= 10)
{
Console.WriteLine("\"a\" es mayor o igual a 1 pero menor o igual a 10");
}
else
{
Console.WriteLine("La sentencia \"a\" es mayor o igual a 1 pero menor o igual a 10 es falsa");
}
if ((a == 1 || b == 5) && a + b < 10)
{
Console.WriteLine("\"a\" es igual a 1 o \"b\" es igual 5, pero sumados no es mayor a 10");
}
else
{
Console.WriteLine("La sentencia \"a\" es igual a 1 o \"b\" es igual 5, pero sumados no es mayor a 10 es falsa");
}
}
}
}
El resultado con el programa corriendo seria:
Como te podrás haber dado cuenta, el uso de la sentencia IF es muy potente, y es una de las bases de la programación, su uso puede ser tan básico como en estos ejemplos o tan complicado como la lógica de negocio lo requiera, si tuvieras alguna duda, abajo en los comentarios puedes mencionarla, la cual, en breve responderemos