c# - 当两个列表的特定属性小于其他属性时,为 ALL 返回 TRUE
问题描述
它很难解释,所以我在这里做了一个简化的数据样本:
我这里有 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 来做到这一点?
解决方案
试试这个,使用 LINQ 的Zip方法:
var result = list1.Zip(list2, (l1, l2) => l1.Value == l2.Value).All(x => x);
推荐阅读
- c# - 如何选择一个值来填充密封类中的两个值
- c# - 单元测试在 using 语句中返回的流(因此关闭)
- angular - 如何在ngrx / store测试中为特定选择器返回假/存根值?
- python - 覆盆子 pi pip install psychopy HDF5 not found
- swift - UICollectionViewCell cellforItemAt:带数组
- java - 数独游戏的标记数字
- wpf - 单击 UserControl 中的 Button 以将值设置为 MainWindow 的 columndefinition
- angular - 带有锚标记(划分)刷新的角度 URL 转到主页
- java - 关于 Java 中的 REST 请求和输出/输入流的说明
- javascript - 如何将文本解析为特定的数组列表?