函数变量调用自身

Joe*_*Joe 1 c# recursion

你怎么能从它自己调用一个Func函数?

例如:

 Func<int, int> f = x => {
      // do stuff
      if (x > 5) { return f(x); }
      // do other stuff
 };
Run Code Online (Sandbox Code Playgroud)

dle*_*lev 6

简单的方法是创建变量,分配它null,然后在lambda中使用它:

Func<int, int> f = null;
f = x => {
    // do stuff
    if (x > 5) { return f(x); }
    // do other stuff
};
Run Code Online (Sandbox Code Playgroud)

到实际调用委托时f,它将被分配给非空值.

如果您愿意,还可以按照此(理论重)博客条目中显示的方法进行操作.