你能帮我吗?我无法删除列表中的同一项目。
List<string> text = new List<string>();
text.Add("A");
text.Add("B");
text.Add("C");
text.Add("D");
text.Add("D");
text.Add("A");
foreach(string i in text)
{
Console.WriteLine(i);
}
结果是A,B,C,D,D,A,但我需要是B,C。我该怎么办?
答案 0 :(得分:1)
这是我的解决办法,
var result = text.GroupBy(x => x).Where(y => y.Count() == 1).Select(z => z.Key);
Console.WriteLine(string.Join(", ", result));
说明:
GroupBy(x => x):这将根据字符(即谓词)对列表进行分组。
.Where(y => y.Count() == 1):这将过滤重复的元素。
.Select(z => z.Key): Select将创建新的枚举,其中包含来自分组元素的Keys
答案 1 :(得分:0)
类似
text.GroupBy(t => t).Where(tg => tg.Count()==1).Select(td => td.First());
此探查器无法编译,您需要自行修复。
这个想法是: 1.按项目分组。 2.参加所有正好有一项的团体 3.选择项目