title: C# Why I get "Unhandled Exception: System.FormatException: Input string was not in a correct format." when I use TryParse?
body: <p>I get "Unhandled Exception: System.FormatException: Input string was not in a correct format." but actually I catch the Exception with TryParse.</p>
  
  <pre><code>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&lt;double&gt; numbers = new List&lt;double&gt;();
  
          Console.Write("How many numbers will you enter: ");
          bool isNum = int.TryParse(Console.ReadLine(), out n);
  
          if (isNum)
          {
              for (counter = 1; counter &lt;= 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!");
          }
      }
  }
  </code></pre>
  
  <p>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.</p>