.net - String.GetHashCode() 的复杂性

这个问题在这里已经有了答案:
关闭 10 年前

Possible Duplicate:
Why might a System.String object not cache its hash code?

我一直认为,考虑到 .Net 字符串是不可变的,String.GetHashCode() 不必在每次调用时都计算哈希 — 如果字符不会改变,对于给定的 System.String 实例,哈希值是常量,我天真地认为; String.GetHashCode() 复杂度为 O(1)。

Reverse engineering it打破了这个假设。

当然,哈希码并不意味着是常量 and so on ,但是什么可以阻止 String 实现具有已经从构建时间计算出的哈希码?

相关文章:

.net - 如何为当前用户注册一个类型库?

svn - Hudson - SVN 错误 : org. tmatesoft.svn.core.SV

c# - 向 XElement 添加空白行以保留其他格式

css - 高度 :100%; works, 但最小高度 :100%; doesn't work?

install4j - 如何在自定义代码或 API 中检查 32 位或 64 位

google-apps-script - 将使用 google apps 脚本构建的图表插入到 go

rest - 使用 Twitter 的 REST API 从收藏夹获取 faved_at 日期?

smalltalk - 遍历圆变形的直径

oauth - 刷新 OAuth2 访问 token 的正确范例

php - 你如何使用 PHP 检查文件是否在某个目录中?