遞歸函數以下不會編譯: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