我有两个类型IEnumerable <SelectListItem>
的列表我需要创建一个新的IEnumerable <SelectListItem>
,其中第一个列表的元素在第二个列表中不存在。我怎么能这样做?
我尝试使用Except()
但是没有结果......
示例代码:
IEnumerable<SelectListItem> SelectListItemA = ....;
IEnumerable<SelectListItem> SelectListItemB = ....;
IEnumerable<SelectListItem> Except = SelectListItemA.Except(SelectListItemB);
答案 0 :(得分:1)
可能是这样的:
var items1 = new List<SelectListItem>();
var items2 = new List<SelectListItem>();
//[.. populate lists here ..]
var onlyInFirst = items1.RemoveAll(item1 => items2.Any(item2 => item1.Value == item2.Value));
Except
要求在遍历的类中实现Equals
和GetHashCode
。