社区
C#
帖子详情
[牛角尖]string的GetHashCode有没有缓存?
chaircat
2010-03-16 05:41:25
在使用Dictionary<>或HashTable的时候经常要用到string作为key,
多次这样xxx["name"]调用的时候必然会涉及到多次调用string的GetHashCode问题,
那么string的GetHashCode有没有缓存机制?
要给出证据哦~~
...全文
170
6
打赏
收藏
[牛角尖]string的GetHashCode有没有缓存?
在使用Dictionary或HashTable的时候经常要用到string作为key, 多次这样xxx["name"]调用的时候必然会涉及到多次调用string的GetHashCode问题, 那么string的GetHashCode有没有缓存机制? 要给出证据哦~~
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
serapn123
2010-03-16
打赏
举报
回复
[Quote=引用 2 楼 vrhero 的回复:]
要什么缓存?哈希值是字符串数据结构的一部分,不是即时算出来的,你不会认为字符串就是只有字符吧...
原因是字符串驻留,一个字符串是不可能改变的,字符串驻留就是靠哈希值索引的...多看看MSDN...
[/Quote]
有道理
fuadam
2010-03-16
打赏
举报
回复
hashcode就在每一个heap中对象的对象头中记录着
wiki14
2010-03-16
打赏
举报
回复
没必要
cjcgy
2010-03-16
打赏
举报
回复
string本身大部分已经是缓存的了, 那么HashCode就算不缓存也没什么关系了。
vrhero
2010-03-16
打赏
举报
回复
要什么缓存?哈希值是字符串数据结构的一部分,不是即时算出来的,你不会认为字符串就是只有字符吧...
原因是字符串驻留,一个字符串是不可能改变的,字符串驻留就是靠哈希值索引的...多看看MSDN...
accomp
2010-03-16
打赏
举报
回复
确实不明白 坐等楼下的回答
提高C#编程水平的50个要点
提高C#编程水平的50个要点 肯定对你有帮助
String
Get
HashCode
() hash相同
Console.WriteLine("NB0903100006".Get
HashCode
()); Console.WriteLine("NB0904140001".Get
HashCode
()); 上面2个字符串有相同的hash hash值碰撞 http://msdn.microsoft.com/en-gb/l...
【Unity】Hash128,GetInstanceID和Get
HashCode
分别代表什么?
128位哈希值的哈希冲突概率极低,因此可以假设,如果两段数据的哈希值相同,则数据也相同。不仅可以获取物体、脚本等实例化出来物体的ID,还能获取声明变量的哈希值,当该实例为一个物体时,得到的结果和 GetInstanceID 相同。GetInstanceID() //返回该对象的实例id。Get
HashCode
() //返回该实例的哈希代码。只可获取实例化出来对象的ID,声明的变量是没有该值的。Hash128 //表示一个128位的哈希值。Hash128来唯一的标识一段数据。
String
.Get
HashCode
() 用法 返回INT唯一值
给实现者的说明 哈希函数用于快速生成一个与对象的值相对应的数字(哈希代码)。哈希函数通常是特定于每个 Type 的,而且,必须至少使用一个实例字段作为输入。 哈希函数必须具有以下特点: 如果两个类型相同的对象表示相同的值,则哈希函数必须为两个对象返回相同的常数值。 为了获得最佳性能,哈希函数必须为所有输入生成随机分布。 不论对该对象进行什么样的更改,哈希函数都必须返回完全相...
string
.Get
HashCode
获取值不一样
今天在使用程序时发现两个
String
.Get
HashCode
值不一样,通过测试 (1)程序在两台不同的计算机上运行,没有变化。 (2)修改32位,64位,值有变化,说明Get
HashCode
和.netFrameWork版本有关系。 转载于:https://www.cnblogs.com/zhaogaojian/p/9120679.html...
C#
111,112
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章