此问题已经在这里有了答案:
我写了静态方法来从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);
未在字段中进行任何更改。有趣的是,在结束执行方法之前,列表已排除了值,但返回时,在模型中我仍然具有原始集合。对我来说,使方法无效并按引用修改列表很重要。