我有两个IList<CustomObject>
,其中CustomObject
的{{1}}属性为Name
。拨打第一个string
,第二个set
。 subset
包含我刚刚在多选列表框中向用户显示的内容列表。用户选择的那些已被放置在set
中(因此subset
保证是subset
的子集,因此聪明的名称;))
从这两个集合生成第三个set
,IList<CustomObject>
,包含用户DID未选择的所有自定义对象的最简单方法是什么?
我一直在尝试这样的LINQ事情
inverseSubset
......基于模糊相似问题的答案,但到目前为止,没有任何内容可编译,更不用说工作了:P
答案 0 :(得分:7)
使用LINQ Except
:
产生两个序列的集合差异。
答案 1 :(得分:-1)
啊哈,最近SQL太多了 - 我不想要Select
,我想要Where
:
List<string> subsetNames = subset.ConvertAll<string>(p => p.Name);
IEnumerable<CustomObject> inverseSubset =
set.Where<CustomObject>(p => !subsetNames.Contains(p.Name));