Why is char being converted into a ushort instead of an int in this decompilation?
<p>When i write a for loop as below it works fine.</p>

<pre><code>for (Char ch = 'A'; ch &lt; 'Z'; ch++)
{
    Console.WriteLine(ch.ToString());
}
</code></pre>

<p>I thought that compiler converts Char type to int but when i looked at the decompiled code, this is what i saw:</p>

<pre><code>for (char i = 65; i &lt; 97; i = (ushort)i + 1)
{
    Console.WriteLine(i.ToString());
}
</code></pre>

<p>Can someone please explain why the compiler did not change the datatype of i from non-numeric to numeric?</p>

<p>--EDIT-- Added decompiler screenshot
<img src="http://i.stack.imgur.com/o3AkG.png" alt="enter image description here"></p>
