C#Lambda没有输入(params)?

时间:2013-03-10 21:49:32

标签: c# lambda

我只是想知道这个案子

void exc(Func<int> fn) {
    fn();
}

我可以执行以下操作

public void test() {
    exc(delegate{return 1;});
}

但我喜欢=&gt;语法所以我试过

public void test() {
    exc(void=>1);
}

它没有编译。有没有办法可以使用=&gt;语法?

3 个答案:

答案 0 :(得分:4)

你几乎从头顶做了:)。查看MSDN了解更多详情,但这正是您要找的:

public void test()
{
    exc(()=>1);
}

答案 1 :(得分:4)

Func<int>表示不带参数并返回整数的函数。所以你可以把它指定为像这样的匿名函数

public void test()
{
    exc(() => 1);
}

答案 2 :(得分:2)

就像

一样简单
() => 1

http://msdn.microsoft.com/en-us/library/bb397687.aspx

并且ctrl + f表示“使用空括号指定零输入参数:”