title: Case insensitive access for generic dictionary
body: <p>I have an application that use managed dlls. One of those dlls return a generic dictionary:  </p>
  
  <pre><code>Dictionary&lt;string, int&gt; MyDictionary;  
  </code></pre>
  
  <p>The dictionary contains keys with upper and lower case.  </p>
  
  <p>On another side I am getting a list of potential keys (string) however I cannot guarantee the case.  I am trying to get the value in the dictionary using the keys. But of course the following will fail since I have a case mismatch:  </p>
  
  <pre><code>bool Success = MyDictionary.TryGetValue( MyIndex, out TheValue );  
  </code></pre>
  
  <p>I was hoping the TryGetValue would have an <em>ignore case</em> flag like mentioned in the <a href="http://msdn.microsoft.com/en-us/library/bb348919%28v=vs.90%29.aspx" rel="noreferrer">MSDN doc</a>, but it seems this is not valid for generic dictionaries.  </p>
  
  <p>Is there a way to get the value of that dictionary ignoring the key case? 
  Is there a better workaround than creating a new copy of the dictionary with the proper <em>StringComparer.OrdinalIgnoreCase</em> parameter?</p>