|
1
1
问题是,如果你没有覆盖Equals等,那么在创建
您需要重用相同的对象,以便基于内存地址的相等断言为真:
或者你需要覆盖ManualReadTag上的Equals和GetHashCode(为了获得最佳性能,我们将从mrt构建一个哈希集,然后迭代_mnualReadTagList,对其中的所有内容进行哈希运算,并在从mrt创建的哈希集中查找它。因此,它需要能够计算ManualReadTag的哈希,然后,因为理论上可能有两个不同的对象具有相同的哈希代码,所以使用Equals绝对验证它们是否是sam。)e或者hashcode是否应该相等) 或者,您需要创建自己的IEqualityComparer类(有关示例,请参阅文档: https://docs.microsoft.com/en-us/dotnet/api/system.linq.enumerable.except -此代码示例还可以用作覆盖ManualReadTag上的Equals和GetHashCode的基础) 或者你需要放弃,除了自己滚;将MRT转换成一个哈希集或字典(有快速查找的东西),基于您所考虑的属性使两个MalueRead TAG实例相同,并且除了通过迭代MyAualRead TrastRead进行检查之外,检查在MRT - Michal中的每一个元素都做了类似的事情,尽管LINQ解决方案可能使用嵌套循环,如果MRT列表大,则性能可能较差。 |
|
|
2
0
你知道如何比较两门课,你提到:
这些数字来自哪里???我猜是场地
另一种方法是覆盖
|
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |