【发布时间】:2021-05-21 07:03:51
【问题描述】:
我有两个数据列表,如下例所示
var listA = new[]{ "A", "B", "C", "D", "B", "E", "C", "F", "G"};
var listB = new[]{ "A", "B", "C", "E" };
listA 可以有重复的值。
我需要使用 LINQ 或 C# 从 listB 中找到所有在 listA 中具有唯一值(仅不重复)的项目。
预期的结果 listC 应该是这样的
listC = {A, E};
我正在使用以下代码
var list = listA.GroupBy(x => x).All(g => g.Count() == 1);
var listC = list.Except(listB).ToList();
【问题讨论】:
-
恐怕这不是代码编写服务。你试过什么吗?你在哪里卡住了?
-
@DavidG 我猜这个骗子并不匹配。这个问题不是关于寻找骗子,而是关于找到那些没有骗子的元素。
-
@HimBromBeere 是的,你是对的。但答案是两个东西的组合,重复和交集,所以在列表中添加了更多链接。