如果我要翻译这个匿名方法:
Func<int, int> f = delegate(int i)
{
return i + 1;
};
进入lambda表达式,它会这样:
Func<int, int> f = i => i + 1;
(我知道:这个lambda表达式将秘密生成另一个匿名方法(由编译器生成),但这不是重点。)
现在我想将以下方法转换为lambda表达式:
Func<int, int> f = delegate(int i)
{
Debug.WriteLine("Inside the function!");
return i + 1;
};
有办法吗?我该怎么做?
答案 0 :(得分:6)
Lambdas可以包含多行,本例中的语法类似于C#2.0中的匿名委托:
Func<int, int> f = i =>
{
Debug.WriteLine("Inside the function!");
return i + 1;
};