Aynı dizge için bana aynı karma kodu veren herhangi bir işlev var mı?Bir dize için benzersiz bir sağlama kodu nasıl oluşturabilirim?
2 farklı dize (ancak aynı içeriğe sahip) oluştururken sorun yaşıyorum, bunların kod kodu farklı ve bu nedenle Dictionary
'da doğru kullanılmıyor.
işlevinin, anahtar bir dize olduğunda Dictionary
işlevinin ne olduğunu bilmek isterim.
public override int GetHashCode()
{
String str = "Equip" + Equipment.ToString() + "Destiny" + Destiny.ToString();
return str.GetHashCode();
}
Ama aynı olma dize içeriğine rağmen bu kodu kullanan her örneği için farklı sonuçlar üretiyor:
böyle madeni inşa ediyorum.
, hash kodu da aynı olacaktır. – Joey
İçeriğin eşit olduğundan emin misiniz? String.GetHashCode için belgeleme açıkça karma kodları eşit dizeler için aynı olacağını belirtir - http://msdn.microsoft.com/en-us/library/system.string.gethashcode.aspx –
Oldukça eminim String .GetHashCode, programı yeniden başlatırsanız farklı karma değerler döndürür. – Tsabo