使用委托时,有这么几个步骤:
1、定义委托
2、实例化委托
3、将方法指针添加到实例化委托对象中
Lambda表达式,是一种简化的匿名函数
作用:
1、可用于创建委托或表达式目录树
2、可以将Lambda表达式作为参数进行传递
3、将它作用于函数调用值后返回的一个函数来使用
基本形式:
(输入参数)=>表达式
Lambda表达式是委托的实现方法,必须遵从以下规则:
1、Lambda表达式的参数数量和委托的参数数量相同
2、如果委托中包括ref或out修饰符,则Lambda表达式的参数列也必须包括修饰符
3、如果委托有返回类型,则Lambda表达式的语句或语句块中也必须返回相同类型的数据
4、如果委托有几种数据类型格式而在Lambda表达式中编译器无法推断具体数据类型时,
则必须手动明确数据类型
在Linq中使用Lambda:
许多 LINQ 中的参数都是一种委托类型的参数,如 Func<T, TResult>,可以定义输入参数以及返回类型。
public delegate TResult Func<TArg0, TResult>(TArg0 arg0)
Func<int, bool> 表示:int 为输入参数,bool 为返回值。
Func<int, int, bool> 表示:2个 int 为输入参数,一个 bool 为返回值。