Dol*_*lev 4 c# anonymous-function func
我正在尝试将谓词传递给函数,但是它没有输入。我实际上正在尝试将计算延迟到发出呼叫为止。
有没有办法使用c#谓词类型呢?如果不是为什么。
我知道使用Func可以做到这一点
Func<bool> predicate = () => someConditionBool;
Run Code Online (Sandbox Code Playgroud)
但是我想这样做:
Predicate<> predicate = () => someConditionBool;
Run Code Online (Sandbox Code Playgroud)
如果这只是可读性问题,那么您可以创建自己的委托,该委托返回boolean并且没有任何参数:
public delegate bool Predicate();
Run Code Online (Sandbox Code Playgroud)
并以这种方式使用
Predicate predicate = () => someConditionBool;
Run Code Online (Sandbox Code Playgroud)
注意:请记住,每个人都熟悉.NET中使用的默认值Action和Func委托,但它们Predicate是您的自定义委托,对于普通程序员而言,第一次使用它就不太清楚。