已经有一段时间没有发布博文了...
今天就写一写lambda的一些简单的使用方法
Lambda 在Msdn 上的描述:
Lambda 表达式对于编写 LINQ 查询表达式特别有用。
x 的平方值。
其实Lambda中是使用委托,下面可以写一个Demo 来验证它是如何使用的
下面是写的测试代码
static D d;
static D2 d2;
static D3 d3;
static void Main(string[] args)
{
int j = 0;
//使用委托的方式
d = () => { j = 10; return j > 3; };
d2 = (x) => { return x == j; };
d3 = (x) => { x += 1; };
//Lambda
Func<bool> fd = () => { j = 10; return j > 3; };
Func<int, bool> fd2 = (x) => { return x == j; };
Action<int> fd3 = (x) => { x += 1; };
}
}
通过反编译之后的源码:
从源码看得出Lambda表达式的实质上是以委托的形式传递的
要注意的一点:
- Action<T1, …, T16> 可以接收1个到16个参数的无返回值泛型委托
- Func<T1, …, T16, Tout> 可以接收0到16个参数并且有返回值的泛型委托
就写到这吧,或许讲述的不到位。如果有不妥,还请指正。谢谢支持。