我理解lambda表达式本质上是一个内联委托声明,以防止额外的步骤
例如
delegate int Square(int x)
public class Program
{
static void Main(String[] args)
{
Square s = x=>x*x;
int result = s(5);
Console.WriteLine(result); // gives 25
}
}
如何将Lambda表达式应用于多个参数 像
这样的东西 delegate int Add(int a, int b)
static void Main(String[] args)
{
// Lambda expression goes here
}
如何使用Lambda表达式表达多个参数?
答案 0 :(得分:41)
您必须了解Func行为,其中最后一个参数始终是输出或结果
Func< 1,2,outPut>
Func<int, int, int> Add = (x, y) => x + y;
Func<int, int, int> diff = (x, y) => x - y;
Func<int, int, int> multi = (x, y) => x * y;
答案 1 :(得分:13)
是。当你有一个(零或> 1)个lambda参数时,请在它们周围使用括号。
实施例
Func<int, int, int> add = (a,b) => a + b;
int result = add(1, 3);
Func<int> constant = () => 42;
var life = constant();
答案 2 :(得分:1)
delegate int Multiplication(int x, int y)
public class Program
{
static void Main(String[] args)
{
Multiplication s = (o,p)=>o*p;
int result = s(5,2);
Console.WriteLine(result); // gives 10
}
}