【发布时间】:2018-08-13 08:38:12
【问题描述】:
我知道我可以使用匿名方法或 lambda 表达式,例如:
myObjects.RemoveAll(delegate (MyObject m) { return m.X >= 10); });
myObjects.RemoveAll(m => m.X >= 10));
但我不知道是否可以使用常规委托(委托 bool X (MyObject o) ),我的尝试失败了。
即创建一个委托,将其设置为一个方法,然后将委托实例作为谓词传递。
【问题讨论】:
-
这不起作用,但如果需要,您可以使用 lambda 调用委托:
myObjects.RemoveAll(x => myDelegate(x));(其中myDelegate是委托)。