我该怎么办使用除()两大SelectListItem列表之间[关闭](how can I do us

2019-07-03 19:27发布

我有一个类型的两个列表IEnumerable <SelectListItem>我需要创建一个新IEnumerable <SelectListItem>与不中的第二个列表存在的第一个列表的元素。 我怎样才能做到这一点?

我试着用做Except()但没有造成...

示例代码:

IEnumerable<SelectListItem> SelectListItemA = ....;
IEnumerable<SelectListItem> SelectListItemB = ....;
IEnumerable<SelectListItem> Except = SelectListItemA.Except(SelectListItemB);

Answer 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要求EqualsGetHashCode在遍历类中实现。



文章来源: how can I do use Except() between two SelectListItem lists [closed]