递归函数以下不会编译:C#:与Lambda表达式
Func<int, int> fac = n => (n <= 1) ? 1 : n * fac(n - 1);
局部变量“FAC”可能不会 访问
之前,你怎么能与一个递归函数初始化lambda表达式?
[更新]
这里还有两个环节,我发现有趣的阅读:
- Eric Lippert's "Why does a recursive lambda cause a definite assignment error?"
- Anonymous Recursion in C#
你真的想这样做在同一行?这看起来像一个噩梦的可维护性和理解... – Ian 2009-07-03 12:36:15
好吧,也许只是一个概念 – 2009-07-03 12:37:01