相关疑难解决方法(0)

C#:使用Lambdas的递归函数

以下不编译:

Func<int, int> fac = n => (n <= 1) ? 1 : n * fac(n - 1);
Run Code Online (Sandbox Code Playgroud)

在访问之前,可能不会初始化局部变量'fac'

你怎么能用lambdas做一个递归函数?

[更新]

这里还有两个我觉得有趣的链接:

  1. Eric Lippert的"为什么递归lambda导致明确的赋值错误?"
  2. C#中的匿名递归

c# recursion lambda factorial

27
推荐指数
3
解决办法
7240
查看次数

标签 统计

c# ×1

factorial ×1

lambda ×1

recursion ×1