同じ文字列に対して同じハッシュコードを与える関数はありますか?文字列のユニークなハッシュコードを生成するにはどうすればいいですか?
2つの異なる文字列(同じ内容のもの)を作成する際に問題がありますが、そのハッシュコードが異なるため、Dictionary
で正しく使用されていません。
私がGetHashCode()
が機能していることを知りたいのですが、Dictionary
はキーが文字列のときに使用します。
public override int GetHashCode()
{
String str = "Equip" + Equipment.ToString() + "Destiny" + Destiny.ToString();
return str.GetHashCode();
}
をしかし、それは同じである文字列の内容にもかかわらず、このコードを使用してインスタンスごとに異なる結果をもたらすだ:
私はこのような鉱山を構築しています。
:
Equals
はその後のようになります。 – Joeyあなたは内容が等しいと確信していますか? String.GetHashCodeのドキュメントでは、ハッシュコードが等しい文字列に対して同じであることが明確に記載されています。http://msdn.microsoft.com/en-us/library/system.string.gethashcode.aspx –
String .GetHashCodeは、プログラムを再起動すると異なるハッシュを返します。 – Tsabo