title: Using InvariantCultureIgnoreCase instead of ToUpper for case-insensitive string comparisons
body: <p><em>On <a href="http://www.inq.me/post/ASPNet-MVC-Extension-method-to-create-a-Security-Aware-HtmlActionLink.aspx" rel="noreferrer">this page</a>, a commenter writes:</em></p>
  
  <p>Do NOT ever use <code>.ToUpper</code> to insure comparing strings is case-insensitive.  </p>
  
  <p>Instead of this: </p>
  
  <pre><code>type.Name.ToUpper() == (controllerName.ToUpper() + "Controller".ToUpper())) 
  </code></pre>
  
  <p>Do this: </p>
  
  <pre><code>type.Name.Equals(controllerName + "Controller", 
       StringComparison.InvariantCultureIgnoreCase)
  </code></pre>
  
  <p><em>Why is this way preferred?</em></p>