我写了静态方法来从IEnumerable集合中排除某些项目。
public static void Exclude(this IEnumerable<SelectListItem> list, params object[] excludeValues)
{
list = list.Where(x => excludeValues.All(y => x.Value != y.ToString())).ToList();
}
我已经填写了StatementTypeSource字段,但是
model.StatementTypeSource.Exclude(1, 2);
在字段中未做任何更改。有趣的是,在结束执行方法之前,列表已排除了值,但返回时,在模型中我仍然具有原始集合。 对我来说,使方法无效并按引用修改列表很重要。