概述
名称的由来
来自微积分数学中的 λ,其涵义是声明为了表达一个函数具体需要什么。
说明
1、使用 Lambda 表达式来创建匿名函数,可以高效简化代码。
2、若要创建 Lambda 表达式,需要在 Lambda 运算符左侧指定输入参数(如果有),然后在另一侧输入表达式或语句块。
3、任何 Lambda 表达式都可以转换为委托类型。 其参数的类型和返回值定义了 Lambda 表达式可转换成的委托类型。
4、编写 lambda 时,通常不必为输入参数指定类型,因为编译器可以根据 lambda 主体、参数类型以及 C# 语言规范中描述的其他因素来推断类型。
5、表达式位于 =>
运算符右侧的 lambda 表达式称为“表达式 lambda”。
参数类型
//无参无返回
Action action1 = () =>
{int a = 1 + 2;int b = 3 + 4;Console.WriteLine(a+b);
};//有参无返回
Action<int> action2 = (a) =>
{int b = a + 1;Console.WriteLine(b);
};
//当只有一个参数的时候,括号可以省略
Action<int> action3 = a =>
{int b = a + 1;Console.WriteLine(b);
};//有参有返回
Func<int, int, int> action4 = (a, b) => a + b;Func<int, int, int> action5 = (a, b) =>
{a = a * 2;b = b * 2;return a + b;
};//无参有返回
Func<int> action6 = () => 1000;