その歴史は長いですが、問題は単純です。一致する値をキャッシュする必要がある 3 つの文字列があります。高速キャッシュを使用するには、次のコードを使用します。
public int keygen(string a, string b, string c)
{
var x = a + "@@" + b + "@@" + c;
var hash = x.GetHashCode();
return hash;
}
a
(文字列,b
にc
はコードが含まれていないことに注意してください"@@"
) キャッシュ自体は単なるDictionary<int, object>
ハッシュキーが一意ではない可能性があるというリスクがあることは知っていますが、これを除いて:
int キーを作成するより速い方法を知っている人はいますか? (C# の場合) この操作には合計 CPU 時間の約 15% がかかり、これは長時間実行されるアプリです。
いくつかの実装を試しましたが、より高速なものを見つけることができませんでした。