title: C# Dictionary<> and mutable keys
body: <p>I was told that one of the many reasons strings were made immutable in the C# spec was to avoid the issue of HashTables having keys changed when references to the string keys altered their content.</p>
  
  <p>The Dictionary&lt;> type allows reference types to be used as a key.  How does the dictionary avoid the issue of altered keys that lead to "misplaced" values?  Is there a memberwise clone made of an object when used as a key?</p>