社区
C#
帖子详情
[牛角尖]string的GetHashCode有没有缓存?
chaircat
2010-03-16 05:41:25
在使用Dictionary<>或HashTable的时候经常要用到string作为key,
多次这样xxx["name"]调用的时候必然会涉及到多次调用string的GetHashCode问题,
那么string的GetHashCode有没有缓存机制?
要给出证据哦~~
...全文
167
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个要点
- **解释**:确保值类型能够正确地表示零值,这有助于防止空引用异常和其他类型的错误。 - **实践建议**:在设计值类型时,考虑其可能的最小值是否为零。 #### 9. 理解ReferenceEquals,staticEquals,instanceEquals...
String
.Get
HashCode
() 用法 返回INT唯一值
例如,
String
类提供的 Get
HashCode
实现为唯一的字符串值返回唯一的哈希代码。因此,如果两个
String
对象表示相同的字符串值,则它们返回相同的哈希代码。另外,该方法使用字符串中的所有字符生成相当随机的分布式...
string
.Get
HashCode
获取值不一样
今天在使用程序时发现两个
String
.Get
HashCode
值不一样,通过测试 (1)程序在两台不同的计算机上运行,没有变化。 (2)修改32位,64位,值有变化,说明Get
HashCode
和.netFrameWork版本有关系。 转载于:...
String
Get
HashCode
() hash相同
Console.WriteLine("NB0903100006".Get
HashCode
()); Console.WriteLine("NB0904140001".Get
HashCode
()); 上面2个字符串有相同的hash hash值碰撞 http://msdn.microsoft.com/en-gb/l...
C#中有关
string
.Get
HashCode
()的一个重要注意事项!
最近在做项目的时候,需要把字符串存入数据库,并且要求数据库中不能有重复的字符串,由此就引出了将字符串hash成特定的hash值,依靠查询hash值是否重复来判断字符串是否重复。 这样做的好处在于查询重复字符串...
C#
111,094
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章