2 回答

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個(gè)贊
這是 For 循環(huán)的一種 linq 替代方案
private List<string> Compare()
{
if (list1 == null) return list2;
if (list1.Where((x, i) => x != list2[i]).Any())
{
return list2;
}
return null;
}

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超3個(gè)贊
您可以使用Zip將項(xiàng)目分組在一起來(lái)比較它們,然后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函數(shù)用于將兩個(gè)項(xiàng)目放入一個(gè)元組中(第一個(gè),第二個(gè))。
您還可以使用SequenceEqual
private List<string> Compare()
{
if (list1 == null) return list2;
bool allSame = list1.SequenceEqual(list2);
return allSame ? list2 : null;
}
- 2 回答
- 0 關(guān)注
- 152 瀏覽
添加回答
舉報(bào)