.NET の (ジェネリック) Dictionary クラスは、そのキーに対して GetHashCode() メソッドを使用してハッシュを生成すると仮定しました。そこから 2 つの質問があります。
オブジェクトにはオーバーライド可能な GetHashCode() メソッドがあります。ユーザー定義の参照型オブジェクトの場合、このメソッドは参照データに基づいてハッシュを生成しますか? たとえば、1 つの String インスタンス変数のみを含むクラス OneString がある場合、一致する文字列を持つこのクラスの 2 つの別個のインスタンスは、常に同じハッシュ コードを生成しますか? それとも、この機能を実現するために OneString の GetHashCode() メソッドをオーバーライドする必要がありますか?
おそらく、String クラスに実装されているハッシュ関数は、別の参照型 (BitmapImage など) に実装されているハッシュ関数とは異なります。公開されている最も一般的なクラスに実装されているハッシュ関数はありますか?