単純なクラスを考えてみましょう。
public class TestClass<Val>
{
public Val Value{get;set;}
}
このクラスのインスタンスを作成し、それをキーとして使用する辞書を定義します。
TestClass<int> TestCase = new TestClass<int>();
Dictionary<TestClass<int>, int> D = new Dictionary<TestClass<int>, int>();
TestCaseに0を入力し、辞書にエントリを追加します。
TestCase.Value=0
D.Add(TestCase,10)
これで、ディクショナリは次のようになります。{TestCase-> Value = 0:10}次に、次のようにします。
TestCase.Value=1
これで、キー'TestCase-> Value = 1'を辞書に入れずに、辞書に{TestCase-> Value = 1:10}が自動的に追加されました。どうすればそれを回避できますか?