【发布时间】:2018-08-14 23:20:30
【问题描述】:
这很难解释,所以我在这里做了一个简化的数据示例:
我这里有 2 个不同复合体类型的列表:
列表1:
{ Id = 1 , Value = 1 }; {Id = 2 , Value = 2 }; { Id = 3 , Value = 1.5}
列表2
{ Id = 1 , Value = 1 }; {Id = 2 , Value = 2 }; { Id = 3 , Value = 1.5}
两个列表的比较应该返回 TRUE,因为 Value 属性的每个值在两个列表中都是相等的。
如果只有一个 Value 属性值不同,则整个结果必须为 FALSE。
如何使用首选 linq 来做到这一点?
【问题讨论】:
-
标题中有“当特定属性小于其他属性时”和“两个列表中的值属性相等...如果只有一个值属性值不同,则整个结果必须为 FALSE 。”在你的身体里。什么是实际的比较逻辑?
-
列表是否保证按 Id 排序?
-
是否需要通过列表位置或ID查看对应的值?比较
{ Id = 1 , Value = 1 }, { Id = 2 , Value = 2 }和{ Id = 2 , Value = 1 }, { Id = 1 , Value = 2 }的预期结果是什么?为什么?