ric*_*ard 4 .net c# predicate definition
MSDN定义了System.Predicate 这种方式:
表示定义一组条件的方法,并确定指定的对象是否满足这些条件.
这真的意味着什么,或者它通常用于什么?因为对我来说它只是看起来像一个预定义的delegate,其方法必须采取object的type T,并返回bool-仅此而已.
我错过了什么吗?
Sve*_*ven 10
CLR不强制类型名称的语义.
所以,是的,Predicate<T>只是一个代表接受T并返回a bool,但它意味着用于预期谓词(某个条件的测试)的地方.程序员应该尊重该惯例.例如,如果您需要没有预定义语义含义的类似委托,则可以使用Func<T, bool>.
对于编译器,a Predicate<T>或a 之间没有功能差异Func<T, bool>.但是对于另一个阅读代码的开发人员来说,只要您正确使用它,它就会提供一个关于代码应该做什么的重要提示.
同样,没有什么可以阻止我System.DayOfWeek用来存储1到7之间的任意值,而这个值实际上并不代表一周中的某一天.这将是一个愚蠢的事情,但编译器肯定会让我.由您来确保您的代码有意义,编译器无法为您执行此操作.
| 归档时间: |
|
| 查看次数: |
2104 次 |
| 最近记录: |