我正在重构一些代码 最初的陈述是
var deleteList = new List<FilterParameter>();
foreach (FilterParameter param in FilterParameters)
{
if (memlist.All(x => x.ParameterName != param.ParameterName))
{
deleteList.Add(param);
}
}
现在我想做一些像
这样的事情 var deleteList = ufs.FilterParameters.Where(param => memlist.All(rule2)).ToList();
我不确定如何构建和传递委托
答案 0 :(得分:1)
我不完全确定我理解你,你是否在.Where()
询问如何传递谓词,因为这样会起作用:
Func<FilterParameter, bool> predicate = param => memlist.All(x => x.ParameterName != param.ParameterName);
List<FilterParameter> deleteList = FilterParameters.Where(predicate).ToList();
这就是你问的问题吗?