【发布时间】:2015-10-20 14:06:13
【问题描述】:
为什么GetHashCode 为同一类型返回不同的值。如果我执行此代码:
Console.WriteLine(typeof(Guid).GetHashCode());
在不同的应用程序中,我得到不同的哈希码。
如果我在不同的应用程序中多次执行以下语句:
Console.WriteLine("ABC".GetHashCode());
我总是得到相同的哈希码。但是为什么System.Type的哈希码改变了,而System.String却没有?
谢谢。
【问题讨论】:
-
我猜是因为类型指针的 GetHashCode 是指针值(RTTI 的地址)的哈希值,不同程序之间会有所不同。
标签: c# hash types gethashcode