среда, 7 ноября 2007 г.

Простые рекурсивные лямбда функции в С#

Самый самый простой подход не работает

Func<int, int> fac = x => x == 0 ? 1 : x * fac(x - 1);


- ошибка. error CS0165: Use of unassigned local variable 'fac'

Ну так объявим ее...

Func<int, int> fac = null;

fac = x => x == 0 ? 1 : x * fac(x - 1);

 

Func<int, int> fibbo = null;

fibbo = x => x == 0 ? 1 : x==1? 1: fibbo(x-1) + fibbo(x - 2);



как-то так, да...

Комментариев нет: