title: Design reasons behind making ToUpper a static method on Char
body: <p>In C#, we have this non-static method on the type string:</p>
  
  <pre><code>"abc".ToUpper()
  </code></pre>
  
  <p>but for char, we need to use a static method:</p>
  
  <pre><code>char.ToUpper('a')
  </code></pre>
  
  <p>When introducing c# to beginners, they always expect to be able to write the following:</p>
  
  <pre><code>'a'.ToUpper()
  </code></pre>
  
  <p>Does anyone have insights as why it was designed like this?</p>
  
  <p>The only thing I can think of is performance but then I would have expected a static ToUpper() for the type string too.</p>