This question already has answers here:
C# LINQ find duplicates in List

(9个答案)


1年前关闭。




我有:
List<string> list = new List<string>() { "a", "a", "b", "b", "r", "t" };

我怎样才能只得到“a”,“b”?

我试图这样做:
List<string> list = new List<string>() { "a", "a", "b", "b", "r", "t" };
List<string> test_list = new List<string>();

test_list = list.Distinct().ToList();

现在test_list具有{“a”,“b”,“r”,“t”}
然后:
test_list = test_list.Except(list).ToList();

所以这就是我的失败点,因为Except()删除了所有元素。

您能帮我解决问题吗?

最佳答案

试试这个

var duplicates = list.GroupBy(a => a).SelectMany(ab => ab.Skip(1).Take(1)).ToList();

关于c# - 如何在list <>中查找重复项?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15866780/

10-16 15:00