这个问题在这里已经有了答案:
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"}
。有什么想法可以使用 LINQ 或 lambda 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/