domingo, 12 de junio de 2011

C# - Console.ReadKey() [Basico]



Anterior mente les dije que al si clickeamos en Depuración , lo que haría es abrir y cerrar una ventana de consola, se cierra por que cuando llega al final ya termina el programa. Y que para evitar esto, debemos ir a Depurar/Iniciar sin Depurar.


Pero hay un problema con esto ya que si nosotros creamos una aplicación y la distribuimos como .EXE al ser ejecutado solo nos mostraría la ventana y se cerraría sin poder hacer nada.


Bien la solución es el metodo Console.ReadKey() lo que hace es esperar que el usuario presione una tecla por teclado en entorno de consola, hasta que el usuario no presione una tecla, la ejecución del programa no continuara.


Un ejemplo sencillo es:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MiAplicacion
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
Console.ReadKey();//espera ha que el usuario presione una tecla 
}
}
Con esto solucionamos el problema y ahora si podemos  ir a Depurar/Iniciar Depuraración ( "F5").

Corrección de códigos anteriores:

Variables
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MiAplicacion_2
{
class Program
{
static void Main(string[] args)
{
int entero;
float decimall;
double decimaldoble;
string alfanumerico;
bool verdaderofalso;
entero = 1;
decimall = 2f;
decimaldoble = 3.25555f;
alfanumerico = "Pepe";
verdaderofalso = true;
Console.WriteLine(entero);
Console.WriteLine(decimall);
Console.WriteLine(decimaldoble);
Console.WriteLine(alfanumerico);
Console.WriteLine(verdaderofalso);
}
Console.ReadKey();//espera ha que el usuario presione una tecla 
}
}

if-else
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MiAplicacion_Tutorial__3ro
{
class Program
{
static void Main(string[] args)
{
int num1;
int num2;
num1 = 1;
num2 = 1;
if (num1 == num2)
{
Console.WriteLine("Si, son iguales");
}
num1 = 1;
num2 = 2;
if (num1 == num2)
{
Console.WriteLine("Si, son iguales");
}
else
{
Console.WriteLine("No, no son iguales");
}
}
Console.ReadKey();//espera ha que el usuario presione una tecla 
}
}