そのため、カスタム Equals() 関数を持つオブジェクトであるキーを持つ辞書を作成する必要があります。GetHashCode() もオーバーライドする必要があることを発見しました。最適なパフォーマンスを得るには、衝突しないハッシュ コードを使用する必要があると聞きましたが、それは直感に反するように思えます。私はそれを誤解しているかもしれませんが、ハッシュコードを使用することの全体的なポイントは、アイテムをバケットにグループ化することであり、ハッシュコードが決して衝突しない場合、各バケットには目的を無効にするように見えるアイテムが 1 つしかないようです。
では、意図的にハッシュ コードを時々衝突させるべきでしょうか? パフォーマンスは重要です。これは、おそらく数百万のアイテムに成長する辞書になり、非常に頻繁に検索を行うことになります。