2 つの質問を 1 つにまとめて申し訳ありませんが、それらは関連しています。
HashCode
sHashSet
など。私が理解しているように、それらは一意であり、変化してはならず、オブジェクトの構成を単一の数値として表す必要があります。
私の最初の質問は、2 つの Int16sa
とを含むオブジェクトについて、 n が大きな数であるようなものを返すことb
は安全ですか?GetHashCode
a * n + b
Math.Pow(2, 16)
またGetHashCode
、特に Int32 型を柔軟に返すように見えます。
32ビットは、たとえば、2つのInt16、単一のUnicode文字、または16のN、S、E、Wのコンパス方向を保存できますが、それほど多くはありません。小さないくつかのノードグラフのようなものでさえ、おそらく多すぎるでしょう. これは C# ハッシュ コレクションの制限を表していますか?