【发布时间】:2021-10-29 00:54:09
【问题描述】:
编辑 - 感谢@Monofuse:
List<List<int>> list1,
list2,
list2_flattened = list2.SelectMany(x => x).ToList(); // 1d list
list1 = list1.Select(x => x.Where(y => !list2_flattened.Contains(y)).ToList()).ToList(); // 2d list (definitely not the most efficient function, but my list is constrained to a size of about 20)
鉴于 2 个列表:
List<List<int>> list1;
List<List<int>> list2;
您将如何过滤 List1 中的项目,以便最终得到 list2 中不存在的项目?
忘了说:list1 必须保持原来的结构(即 List,所以 SelectMany 不是一个选项)
我正在寻找 linq 解决方案
谢谢!
【问题讨论】:
-
到目前为止你尝试过什么?你能分享你当前的代码尝试吗?
-
你能添加一个正负匹配的例子吗? @rkrahl 顺序重要吗?
-
你有2套套,“不存在”的定义是什么?
-
List1 = {{1,2,3},{4,5,6}}和List2 = {{1,3},{6,5,4}}的预期结果是什么? -
无论如何,我很高兴你得到了答案,但只知道这个问题有点残忍,变成了猜谜游戏。当您提出这样的问题时,请尝试非常具体