Mira aqui tu solución al problema. El problema es que el método TryParse, devuelve
bool y sale una variable por un parámetro
OUT, es simple controlar si el método te da
false puedes hacer algo...
pd: me volví loco con todos los
Console.SerCursorPosition porque casi nunca he usado eso...ah, y recuerda usar las etiquetas
CODE para poner el código.
static void Main(string[] args)
{
Console.Title = "Mostrar el mayor y el menor de un grupo de números...";
Console.SetWindowSize(70, 30);
Console.BackgroundColor = ConsoleColor.Blue;
Console.ForegroundColor = ConsoleColor.Yellow;
Console.Clear();
byte n = 0, i = 0, mLeft = 2, mTop = 2;
int numero = 0, menor = 99, mayor = -99;
//Modifiqué esto...
while (true)
{
Console.SetCursorPosition(mLeft, mTop);
Console.Write("Ingrese la cantidad de números a comparar(máximo 255)...:");
if (byte.TryParse(Console.ReadLine(), out n))
break; //Si pudo hacerle PARSE sale del ciclo while
else
{
mTop+=2;
Console.SetCursorPosition(mLeft, mTop);
Console.WriteLine("TU MENSAJE DE AYUDA AQUI EJ> INGRESASTE UN NUMERO INCORRECTO");
mTop += 2;
}
}
mTop += 2;
for (; i < n; i++)
{
//Modifiqué esto
while (true)
{
Console.SetCursorPosition(mLeft, mTop);
Console.Write("numero " + (i + 1) + "...:");
if (Int32.TryParse(Console.ReadLine(), out numero))
break; //Si pudo hacerle PARSE sale del ciclo while
else
{
mTop += 2;
Console.SetCursorPosition(mLeft, mTop);
Console.WriteLine("TU MENSAJE DE AYUDA AQUI EJ> INGRESASTE UN NUMERO INCORRECTO");
mTop += 2;
}
}
if (mayor < numero)
{
mayor = numero;
}
if (menor > numero)
{
menor = numero;
}
mTop++;
}
mTop += 2;
Console.SetCursorPosition(mLeft, mTop);
Console.Write("El número menor es...: " + menor);
mTop++;
Console.SetCursorPosition(mLeft, mTop);
Console.Write("El número mayor es...: " + mayor);
mTop += +2;
Console.SetCursorPosition(mLeft, mTop);
Console.Write("Apriete una tecla para cerrar la aplicación...");
Console.ReadKey();
}