I get "Unhandled Exception: System.FormatException: Input string was not in a correct format." but actually I catch the Exception with TryParse.
using System;
using System.Linq;
using System.Collections.Generic;
class MinAndMax
{
static void Main()
{
// Task 3 - Write a program that reads from the console
// a sequence of N integer numbers and returns the minimal
// and maximal of them.
int n;
double num = 0, counter = 0, minNum = 0, maxNum = 0;
List<double> numbers = new List<double>();
Console.Write("How many numbers will you enter: ");
bool isNum = int.TryParse(Console.ReadLine(), out n);
if (isNum)
{
for (counter = 1; counter <= n; counter++)
{
Console.Write("Enter number {}: ", counter);
bool isValid = double.TryParse(Console.ReadLine(), out num);
if (isValid == false)
{
Console.WriteLine("Invalid input!");
}
else
{
numbers.Add(num);
}
}
minNum = numbers.Max();
maxNum = numbers.Min();
Console.WriteLine("The maximal of the numbers is: " + maxNum);
Console.WriteLine("The minimal of the numbers is: " + minNum);
}
else
{
Console.WriteLine("Invalid input!");
}
}
}
When the input is string it goes to the else block(so it catches the exception), but when the input is an integer I get Unhandled Exception: System.FormatException: Input string was not in a correct format.