![]() |
1
4
不久前,我为此写了一本相当全面的指南。首先,你的equals实现应该是共享的(即,接受对象的重载应该传递给接受强类型对象的重载)。此外,您需要考虑一些事情,例如您的对象应该是不可变的,因为需要重写GetHashCode。更多信息请点击此处: http://gregbeech.com/blog/implementing-object-equality-in-dotnet |
![]() |
2
1
最好希望如此。_如果数据也是引用类型,则它不是null。
|
![]() |
3
0
关于继承,我认为你应该让OO范式发挥它的魔力。
具体而言
|
![]() |
4
0
我同意chakrit的观点,如果不同类型的对象具有相同的数据或ID,则应允许它们在语义上相等。 就我个人而言,我使用以下方法:
|
![]() |
5
0
这取决于你写的是值类型还是引用类型。对于可排序的值类型,我建议如下: A code snippet for Visual Studio 2005 that implements a skeleton value type adhering to Framework Design Guidelines |
![]() |
6
0
由于Greg Beech接受的答案中的链接已断开,我希望这个答案可能对一些人有所帮助。
Microsoft的文档提供了以下示例,用于典型实现
可以在以下位置找到完整的示例,其中包含更多详细信息,包括在派生类或结构中做什么 "How to define value equality for a class or struct (C# Programming Guide)"
作为微软文档中描述的替代方案,该方法
|
|
synthax · 具有容差级别的双精度哈希方法 7 年前 |
![]() |
Relaxsingh · 附加导师程序无法正常工作***阅读说明*** 7 年前 |
|
user8589267 · 我的equals方法有什么问题? 7 年前 |
![]() |
James W. · 带有通配符的java黑名单 7 年前 |