没有发射了反光看差异,但人们所期望看到比较时完全一样的编译代码Func
与Predicate
我认为没有区别,因为它们都采用通用参数并返回bool?
它们共享相同的签名,但它们仍然是不同的类型.
罗伯特S.完全正确; 例如:-
class A { static void Main() { Funcfunc = i => i > 100; Predicate pred = i => i > 100; Test (pred, 150); Test (func, 150); // Error } static void Test (Predicate pred, T val) { Console.WriteLine(pred(val) ? "true" : "false"); } }