別々の処理段階で(GoogleのCityHashを使用して)ulongにハッシュされる2つの文字列があり、ハッシュ衝突のリスクを大幅に増加させることなく、2つのハッシュを新しいハッシュに結合する必要があります。
XORにはいくつかの問題(Value ^ 0 = Valueなど)があることは知っていますが、2つの入力値がすでに十分に分散されているはずなので、次のようにハッシュを組み合わせることができると思います。
ulong hash = hash1 ^ hash2; // hash1 and hash2 are ulong hashes of strings
このアプローチに何か問題がありますか、それとも大幅な計算オーバーヘッドを追加しないより良いアプローチがありますか?