如何将谓词传递到方法中,但在没有传递谓词的情况下仍使其工作?我想也许是这样的,但似乎并不正确。
private bool NoFilter() { return true; }
private List<thing> GetItems(Predicate<thing> filter = new Predicate<thing>(NoFilter))
{
return rawList.Where(filter).ToList();
}
private List<thing> GetItems(Func<thing, bool> filter = null)
{
return rawList.Where(filter ?? (s => true)).ToList();
}
在这个表达式中s => true
是后备过滤器,如果参数filter
一片空白。它只需要列表中的每个条目(如s
)并返回true
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)