Лямбды есть анонимные функции, а рекурсия требует определения имен.
Определение функции, которая вычисляет число Фибоначчи:
Func fib = n => n > 1 ? fib(n - 1) + fib(n - 2) : n;
Но работать это не будет, т.к. компилятор выдаст ошибку:Use of unassigned local variable 'fib'
Проблема в том, что правая сторона выражения оценивается до того, как fib будет определена.
Быстрый обход этой проблемы - присвоить fib null, то есть явно определить fib перед тем, как она будет использована.
Func fib = null;
fib = n => n > 1 ? fib(n - 1) + fib(n...