GetHashCode
とEquals
を実装するクラスを持っている場合、ハッシュを生成するか、Equals
を使用して比較するのではなく、オブジェクトの参照に基づいて比較するキーとしてそのクラスを使用する辞書を強制できますか?クラスがEqualsとGetHashCodeを実装するときに、C#ディクショナリのキーとしてオブジェクト参照をどのように使用しますか?
たとえば、私のリソースにグローバルで変更されていないSystem.Drawing.Bitmap
のコレクションがある場合、それらをC++のアドレスに基づいて比較することで、安く辞書のキーとして使用できますか?これらはかなり大きな画像であり、キー検索を行うためにハッシュを一度生成することは嫌です。
私は、これらのオブジェクトをキーとして使用するより最適な方法を期待しています。
素晴らしい仕事:今、あなたは、このような辞書を作ることができ
。残念ながら、 'Properties.Resources'プロパティはグローバルではなく、取得するたびに変わるようです。その前提のためには大変です。 – cppguy