没有输入(参数)的c# Lambda

本文关键字:Lambda 参数 输入 | 更新日期: 2023-09-27 18:03:18

我只是想知道这个情况

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

我可以做下面的

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

但是我喜欢=>语法,所以我尝试了

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

它没有编译。是否有一种方法可以使用=>语法?

没有输入(参数)的c# Lambda

你几乎是凭空想到的。查看MSDN获取更多详细信息,但这是你要找的:

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

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

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

就像

() => 1
http://msdn.microsoft.com/en-us/library/bb397687.aspx