腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
6
回答
Object.GetHashCode
()
对
引用
或
值
是
唯一
的
吗
?
、
上
的
MSDN文档描述了方法应该如何工作
的
三个自相矛盾
的
规则。 规则1和3
对
我来说是矛盾
的
。
Object.GetHashCode
()是
浏览 4
提问于2008-08-29
得票数 26
回答已采纳
4
回答
从所有对象获取
唯一
散列
的
C#
、
、
、
更重要
的
是
,万一我想要
唯一
的
钥匙: 有什么想法
吗
?谢谢
浏览 3
提问于2009-12-11
得票数 1
回答已采纳
2
回答
我需要在
引用
类型上重写GetHashCode()
吗
?
、
、
、
我在StackOverflow上读到了大多数关于GetHashCode
的
问题。但我仍然不确定是否必须在
引用
类型上重写GetHashCode。在另一个问题中,我从某人
的
答案中获得了以下内容: 如果这在.NET Frame
浏览 33
提问于2009-04-20
得票数 22
回答已采纳
1
回答
如何从重新实现GetHashCode
的
类中获取原始哈希代码?
、
、
、
简短问题:如何获得已重新实现
的
GetHashCode()对象
的
object.GetHashCode
()
值
? 长故事:所以我有大约10万个对象,每个对象共享许多公共字符串(非编译时间)。一般情况下,如果
值
相等,则它是同一个实例。知道了这一点,我想我宁愿使用一个标准对象比较(ReferenceEquals),而不是一个完整
的
字符串比较--特别是因为这些比较
是
在相当定期
的
字典中查找
的
。但是,如何为
object.GetHashCode
浏览 1
提问于2011-09-14
得票数 3
回答已采纳
1
回答
Object.GetHashCode
()
的
实现
、
、
我正在阅读
Object.GetHashCode
(),有一条我不明白
的
关于
的
评论: 这些键从1开始,每次创建任何类型
的
新对象时都会增加。对象标识字段
是
在System.Object构造函数中设置
的
,以后不能修改。
Obj
浏览 7
提问于2014-11-28
得票数 15
回答已采纳
5
回答
为什么在个人类上使用Dictionaries时不需要覆盖GetHashCode?
、
、
、
我能想到
的
唯一
一件事
是
,每个类都有一种隐藏
的
静态标识符,供
Object.GetHashCode
使用。(另外,有人知道
Object.GetHashCode
是
如何实现
的
吗
?我在.NET反射器中找不到它) 我从来没有重写过GetHashCode,但我一直在阅读,人们说你只需要在重写Equals并为你
的
应用程序提供自定义相等检查时才需要重写,所以我想我很好?我仍然想知道魔法
是
如何工作
的
。
浏览 0
提问于2011-09-19
得票数 2
回答已采纳
1
回答
如何强制调用接口实现方法?
考虑到: EqualityComparer.Default属性,它是用MSDN编写
的
: 默认属性检查T类型是否实现System.IEquatable接口,如果实现,则返回使用该实现
的
EqualityComparer否则,它返回一个EqualityComparer,它使用T提供
的
Object.Equals和
Object.GetHashCode
重写。我
的
理解
是
:因为它将返回EqualityComparer "object",所以它应该调用T提供
的
Obj
浏览 2
提问于2013-01-30
得票数 0
1
回答
当GC移动对象时,
Object.GetHashCode
是
如何工作
的
?
、
如果我理解正确的话,在.NET中,
Object.GetHashCode
()
的
默认实现根据对象
的
内存地址返回一个
值
(至少对于
引用
类型
是
这样)。但是,垃圾收集器可以自由地在内存中移动对象。假设散列代码不会仅仅因为GC移动对象而改变,那么这种交互是否有特殊
的
处理,或者我
的
假设
是
错误
的
?
浏览 2
提问于2009-11-10
得票数 23
回答已采纳
2
回答
泛型不变排序
、
我想以这样一种方式
对
它们进行排序,即保证将来
的
一组(可能不同
的
)对象排序与我当前
的
排序一致。在其他语言中,我会使用地址来完成此操作。但在C#中,该地址被认为
是
不安全
的
。我宁可避免这种情况。那么,我该如何实现我
的
目标呢?
浏览 1
提问于2014-02-01
得票数 0
2
回答
使用字符串列表作为比较器
的
IEqualityComparer
、
我正在尝试设置一个使用字符串列表作为比较属性
的
IEqualityComparer。这是我
的
IEqualityComparer类(单词
是
一个列表) public class Rec
浏览 6
提问于2014-10-20
得票数 4
回答已采纳
3
回答
在结构中,是否可以通过Equals实现operator==,但不能重写Equals和GetHashCode?
、
、
、
、
这是有效
的
吗
?a.Equals(b);} (我知道这有点低效,因为默认情况下,Object.Equals
对
值
类型使用反射。但它是否有效?)=' but does not provide 'Object.Equals(object o)' and '
Object.GetHashCode
()'。
浏览 0
提问于2010-09-06
得票数 3
回答已采纳
1
回答
.NET 4.0:寻找一个*动态*方法来检测同一类型
的
两个对象之间
的
变化
、
、
到目前为止,反射似乎
是
动态检查两个对象是否相同
的
唯一
方法。您可以通过迭代对象
的
成员并检查哪些成员包含不同
的
值
来做到这一点。然而,研究告诉我,这种方式
的
使用
对
性能影响很大。如果有人能在这里证实反思是否真的不是我需要做
的
事情
的
好选择,也许还有其他
的
选择
吗
? 注意,无论我走哪条路,我都需要一个动态
的
解决方案。这意味着不重写等于,然后逐个比较每个属性。如果它是动态
浏览 2
提问于2012-06-22
得票数 1
回答已采纳
2
回答
如果字符串
或
整数
的
getHashCode()不能保证
是
唯一
的
,为什么要使用它?
、
、
、
正如String.GetHashCode方法在中
引用
的
那样 如果两个字符串对象相等,则GetHashCode方法返回相同
的
值
。但是,对于每个
唯一
的
字符串
值
,不存在
唯一
的
哈希代码
值
。不同
的
字符串可以返回相同
的
哈希代码。 哈希代码本身不一定是稳定
的
。最后,如果需要加密强散列,则不要使用哈希代码,而不要使用加密散列函数返回
的
值
浏览 1
提问于2019-12-07
得票数 2
回答已采纳
1
回答
使用LINQ C#按属性创建
唯一
对
象
、
我希望在C#中使用LINQ从列表中检索
唯一
的
项。我有一个类卡片组,有一个属性卡,这是一个卡
的
列表。此外,class Card有一个Suite类型
的
属性套件。我想检索卡片列表中
的
所有套间项目,但只检索
唯一
的
套间。我尝试过
的
代码
是
: { List<Suite> list = cards.S
浏览 2
提问于2011-09-18
得票数 1
2
回答
当可变字段
是
GetHashCode相等问题
的
一部分时,如何实现IEquatable<T>
、
、
、
、
我在我
的
应用程序中使用了实体框架。我使用实体
的
分部类实现了IEquatable<T>接口:请注意(我检查了调试器可视化工具) EntityCollection类将其实体存储在HashSet中,因此它必须与GetHashCode函数有关,我希望它依赖于ID,以便实体通过它们
的
ID问题
是
当我点击保存时,ID从0变成了它
的</
浏览 1
提问于2010-04-13
得票数 1
回答已采纳
2
回答
在对象
的
生命周期中,GetHashCode保证
是
相同
的
吗
?
、
在@eric
的
中,他说: 我说
的
浏览 0
提问于2019-05-02
得票数 1
回答已采纳
2
回答
等于与GetHashCode混淆
、
我试图实现一个不可变
的
Point类,其中两个Point实例被认为
是
相等
的
,如果它们具有相同
的
Coordinates,则使用Coordinate
值
类型
的
Jon
的
。point2); Assert.False(point1 == point2);现在,我真的
对
我必须实现
的
GetHashCode(Point obj)
浏览 3
提问于2013-11-07
得票数 1
回答已采纳
3
回答
C#中
的
泛型
值
相等(标识)
、
比较相同泛型类型
的
两个实例
的
最佳(最简洁和最优)方法是什么,以便
对
引用
类型进行identity (相同对象,因此不调用Equals)和
值
类型用于
值
相等
的
比较。
浏览 3
提问于2013-06-24
得票数 6
1
回答
xvalue/prvalue类别真的重要吗?
、
创建xvalue
的
唯一
方法
是
使用static_cast< T&>转换。是的,还有另外三种情况,但它们都需要另一个xvalue。因此,为了简单起见,我认为这是目前
唯一
的
方法。无论gizmo到底是什么(lvalue
或
rvalue),static_cast
的
结果都是
对
完全相同
的
事物
的
rvalue
引用
(我
的
意思
是
它不会产生任何临时对象)。我知道,对于对
浏览 0
提问于2015-02-21
得票数 0
回答已采纳
4
回答
在运行时
唯一
标识对象
的
选项?
、
我需要在运行时为对象附加一个
唯一
的
标识符。该标识符在应用程序
的
持续时间内必须
是
唯一
的
。我计划在我
的
对象模型
的
基类中使用私有成员变量来实现这一点。此变量将在对象初始化时设置,并且该
值
在对象
的
生命周期内将保持不变。在应用程序
的
持续时间内,任何其他对象都不能具有相同
的
标识符。当然,我可以使用,但这需要每个对象128位
的
存储空间,而且我希望消耗更少
的
资源
浏览 5
提问于2011-02-01
得票数 5
回答已采纳
点击加载更多
热门
标签
更多标签
云服务器
ICP备案
对象存储
云点播
智聆口语评测
活动推荐
运营活动
广告
关闭
领券