我宣布的代码,像这样GetHashCode()在不同的服务器上给出不同的结果?
int hashcode = "apple".GetHashCode();
在我的电脑,在工作中计算机C#线,和一个朋友的电脑,结果是1657858284.在开发服务器,结果是1548091822.是否有我告诉项目总是让GetHashCode()产生1657858284的方式,而不管它在哪个服务器上?
更多注意事项 起初,我注意到版本有所不同... 1657858284结果来自.NET 3.5和.NET 4.0。 1548091822来自.NET 2.0。
我再叫视觉工作室2010年编制项目作为.NET 2.0的项目,但它还是给了我1657858284.
那么,电脑之间有什么区别?不同的.NET版本,也许? – 2011-05-24 18:01:06
[来自MSDN](http://msdn.microsoft.com/en-us/library/system.object.gethashcode.aspx)“.NET Framework不保证GetHashCode方法的默认实现,并且它的值.NET Framework的不同版本之间的返回值是相同的。“ – AbrahamJP 2011-05-24 18:01:58
从我的理解中,GetHashCode仅用作查找关键字,例如hashmaps。所以我不确定你可以期待GetHashCode()产生类似的结果。但我相信你可以重写GetHashCode() – Cilvic 2011-05-24 18:05:10