<分区>
我有一个 List<string>
喜欢:
List<String> list = new List<String>{"6","1","2","4","6","5","1"};
我需要将列表中的重复项放入新列表中。现在我正在使用嵌套的 for
循环执行此操作。
结果list
将包含 {"6","1"}
.
有没有办法使用 LINQ 来做到这一点?或 lambda expressions ?
标签 c# linq duplicates
<分区>
我有一个 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/
相关文章:
java - 两个不同接口(interface)实现中的重复代码
linux - 在 linux 终端中使用 awk 命令忽略重复?
c# - 有什么方法可以在复杂类型上使用 OData $orderby 吗?
c# - 将 Timer 类从 java 转换为 c# : scheduling tasks
c# - Entity Framework 错误关键字不支持 : provider\r\nconnection string
Sql Select Statement Issue in order by
c# - 无法从 IMongoQueryable mongodb C# 驱动程序 linq 语句上的 GroupBy 中的组获取组项目