我有:
List<string> list = new List<string>() { "a", "a", "b", "b", "r", "t" };
Run Code Online (Sandbox Code Playgroud)
我怎么才能得到"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();
Run Code Online (Sandbox Code Playgroud)
现在test_list有{"a","b","r","t"}
然后:
test_list = test_list.Except(list).ToList();
Run Code Online (Sandbox Code Playgroud)
这是我的失败点,因为Except()删除了所有元素.
你能帮我解决一下吗?
I4V*_*I4V 16
List<string> list = new List<string>() { "a", "a", "b", "b", "r", "t" };
var dups = list.GroupBy(x => x)
.Where(x => x.Count() > 1)
.Select(x => x.Key)
.ToList();
Run Code Online (Sandbox Code Playgroud)
dtb*_*dtb 10
var list = new List<string> { "a", "a", "b", "b", "r", "t" };
var distinct = new HashSet<string>();
var duplicates = new HashSet<string>();
foreach (var s in list)
if (!distinct.Add(s))
duplicates.Add(s);
// distinct == { "a", "b", "r", "t" }
// duplicates == { "a", "b" }
Run Code Online (Sandbox Code Playgroud)
试试这个
var duplicates = list.GroupBy(a => a).SelectMany(ab => ab.Skip(1).Take(1)).ToList();
Run Code Online (Sandbox Code Playgroud)