クラス「Dictionary」のようなC#のハッシュマップのキーにこの関数を使用しています。
x、y、z は Int16 です。
public override int GetHashCode()
{
return (x << 16) | (UInt16)y;
}
これを3つの変数すべてを使用するように拡張するにはどうすればよいですか?
オーバーライドされた System.Object.GetHashCode に最適なアルゴリズムは何ですか? を参照してください。任意の数の任意のタイプの変数を使用する、さらに一般的なケースです。