这个问题在这里已经有了答案:





C# LINQ find duplicates in List

(10 个回答)


1年前关闭。




我有一个 List<string> 像:

List<String> list = new List<String>{"6","1","2","4","6","5","1"};

我需要将列表中的重复项放入新列表中。现在我使用嵌套的 for 循环来执行此操作。

结果 list 将包含 {"6","1"}

有什么想法可以使用 LINQlambda expressions 吗?

最佳答案

var duplicates = lst.GroupBy(s => s)
    .SelectMany(grp => grp.Skip(1));

请注意,这将返回所有重复项,因此如果您只想知道源列表中哪些项目是重复的,您可以将 Distinct 应用于结果序列或使用 the solution given by Mark Byers

关于c# - 如何使用 LINQ 从列表中获取重复项?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3811464/

10-13 08:49