我如何删除列表中的同一项目

时间:2019-08-24 08:58:14

标签: c#

你能帮我吗?我无法删除列表中的同一项目。

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。我该怎么办?

2 个答案:

答案 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.选择项目