2 回答
TA贡献1811条经验 获得超6个赞
这是 For 循环的一种 linq 替代方案
private List<string> Compare()
{
if (list1 == null) return list2;
if (list1.Where((x, i) => x != list2[i]).Any())
{
return list2;
}
return null;
}
TA贡献1906条经验 获得超3个赞
您可以使用Zip将项目分组在一起来比较它们,然后All确保它们相同:
private List<string> Compare()
{
if (list1 == null) return list2;
if (list1.Count != list2.Count) return null;
bool allSame = list1.Zip(list2, (first, second) => (first, second))
.All(pair => pair.first == pair.second);
return allSame ? list2 : null;
}
注意:该Zip函数用于将两个项目放入一个元组中(第一个,第二个)。
您还可以使用SequenceEqual
private List<string> Compare()
{
if (list1 == null) return list2;
bool allSame = list1.SequenceEqual(list2);
return allSame ? list2 : null;
}
- 2 回答
- 0 关注
- 94 浏览
添加回答
举报