我有以下两个字符串:
var string1 = "MHH2016-05-20MASTECH HOLDINGS, INC. Financialshttp://finance.yahoo.com/q/is?s=mhhEDGAR Online FinancialsHeadlines";
var string2 = "CVEO2016-06-22Civeo upgraded by Scotia Howard Weilhttp://finance.yahoo.com/q/ud?s=CVEOBriefing.comHeadlines";
乍一看,这两个字符串不同,但使用GetHashCode方法
它们的哈希码相同。
var hash = 0;
var total = 0;
foreach (var x in string1) //string2
{
//hash = x * 7;
hash = x.GetHashCode();
Console.WriteLine("Char: " + x + " hash: " + hash + " hashed: " + (int) x);
total += hash;
}
两个字符串的总和最终为620438779。是否有另一种方法可以返回更独特的哈希码?我需要基于字符串中的字符使哈希码唯一。尽管这两个字符串是不同的且代码正常工作,但它们的总和相同。如何改进此代码以使它们更加唯一?