|
|
1
28
这显然不是完美的,但是如果您只使用您控制的类来执行,那么您可以确保它始终满足您的特定需求。
还有其他方法来比较对象(如校验和、序列化等),但如果类没有一致地实现,这可能是最可靠的方法
更新新示例代码:
使用
当然,是那个
让我们翻转一下,以下面的代码为例:
一旦你这么做了
我有时也会使用上述方法,但只需重写就更容易了
|
|
|
2
19
This github上的项目几乎可以检查任何类型的属性,并且可以根据需要进行定制。 |
|
|
3
11
你可能想看看 Microsoft's Testapi 它有一个进行深度比较的对象比较api。这对你来说可能是过分了,但值得一看。
|
|
|
4
3
以下是扩展对象并返回不相等属性列表的简短LINQ版本:
|
|
5
2
想象一下这个场景:
你猜怎么着…你的对象在集合中永久丢失了,因为集合使用GetHashCode()来找到它!您已经有效地更改了最初放置在集合中的hashcode值。可能不是你想要的。 |
|
|
6
1
Liviu Trifoi solution: 使用CompareNet对象库。 GitHub - NuGet package Tutorial . |
|
|
7
0
我认为这个方法非常简洁,它避免了重复或向类中添加任何内容。你还要找什么? 唯一的选择是为新旧对象生成一个状态字典,并为它们编写一个比较。生成state字典的代码可以重用您在数据库中存储这些数据的任何序列化。 |
|
|
8
0
我的生活方式
|
|
|
Ganesh · 使用触发器的Oracle审计表 9 年前 |