检查两个列表,“ForEach”循环或“Except”和“Intersect”,这在 c# 中最好?

问题描述 投票:0回答:1

我有两个清单。

requestList = ["elem1", "elem2", "elem3"];
existList = ["elem1", "elem4", "elem5"];

需要这样

needToAddList = ["elem2", "elem3"];
needToRemoveList = ["elem4", "elem5"];
noChanges = ["elem1"];

Foreach 循环或 LINQ (除了 & intersect) 哪种过滤器最适合这种类型?

c# .net list linq foreach
1个回答
0
投票

您可以使用 LINQ 输出项目集合,其中每个列表都具有相同的项目:

string[] noChanges = needToAddList
    .Where(a1 => needToRemoveList
        .Any(a2 => a1.Contains(a2))
    )
.ToArray();
© www.soinside.com 2019 - 2024. All rights reserved.