title: int or uint or what
body: <p>Consider this</p>
  
  <pre><code>        int i = 2147483647;
          var n = i + 3;
          i = n;
  
          Console.WriteLine(i);           // prints -2147483646    (1)
          Console.WriteLine(n);           // prints -2147483646    (2)
          Console.WriteLine(n.GetType()); // prints System.Int32   (3)
  </code></pre>
  
  <p>I am confused with following</p>
  
  <blockquote>
    <ul>
    <li>(1) how could int hold the value    -2147483646 ? (int range = -2,147,483,648 to 2,147,483,647)</li>
    <li>(2) why does this print -2147483648    but not 2147483648  (compiler should
    decide better type as int range
    exceeds)</li>
    <li>(3) if it is converted somewhere, why    n.GetType() gives System.Int32
    ?</li>
    </ul>
  </blockquote>
  
  <hr>
  
  <p><strong>Edit1:</strong> Made the correction: Now you will get What I am Getting.  (sorry for that)</p>
  
  <blockquote>
    <p>var n = i + 1; to</p>
    
    <p>var n = i + 3;</p>
  </blockquote>
  
  <p><strong>Edit2:</strong> One more thing, if it as overflow, why is an exception not raised ?</p>
  
  <p><strong>Addition:</strong> as the overflow occurs, is it not right to set the type for </p>
  
  <blockquote>
    <p>var n</p>
  </blockquote>
  
  <p>in statement <code>var n = i + 3;</code> to another type accordingly ?</p>
  
  <hr>
  
  <p>you are welcome to suggest a better title, as this is not making sense to.... me at least</p>
  
  <p>Thanks</p>