title: C# Conversion of ReadKey() to int
body: <p>I am new to C# and was told to create a Text-based Pokemon Battle Simulator, so in the code below, I have a method to get the user input and decide which nature the Pokemon get :</p>
  
  <pre><code>public static void NatureSelection(out int statIndex1, out int statIndex2)
      {
          Console.WriteLine("If you wish to have a neutral nature, Enter 0 in the next line, If not, enter any key to continue");
          char holder = Convert.ToChar(Console.ReadKey());
          statIndex1 = Convert.ToInt16(holder);
          if (statIndex1 == 0) 
          {
              statIndex2 = 0;
          }
  
          Console.WriteLine("Please Select A Nature For Your Pokemon By Entering The Number Beside The Stats That You Want To Increase ");
          statIndex1 = Convert.ToInt16(Console.ReadKey());
          while (!(statIndex1 &gt; 0 &amp;&amp; statIndex1 &lt;=5))
          {
              statIndex1 = Convert.ToInt32(Console.ReadKey());
              Console.WriteLine("Invalid Value,Please Try Again");
          }
  
  
          Console.WriteLine("Now Enter The Number Beside The Stats That You Want To Decrease ");
          statIndex2 = Convert.ToInt32(Console.ReadKey());
          while (!(statIndex2 &gt; 0 &amp;&amp; statIndex2 &lt;= 5))
          {
              statIndex2 = Convert.ToInt16(Console.ReadKey());
              Console.WriteLine("Invalid Value,Please Try Again");
          }
  
      }
  </code></pre>
  
  <p>However when I try to convert the readkey to int, it gives an error that says:</p>
  
  <p>this line gives the errror:</p>
  
  <pre><code>char holder = Convert.ToChar(Console.ReadKey());
  </code></pre>
  
  <blockquote>
    <p>An unhandled exception of type 'System.InvalidCastException' occurred
    in mscorlib.dll</p>
    
    <p>Additional information: Unable to cast object of type
    'System.ConsoleKeyInfo' to type 'System.IConvertible'.</p>
  </blockquote>
  
  <p>Can someone explain what this mean and how I can fix it ?</p>