23
mai
2007
Factorial en lambda expression
mai
2007
Dans le blog suivant, on voit une implémentation de factoriel assez complexe.
Une implémentation simple est la suivante :
Func<int, int> fac = null;
fac = x => x == 0 ? 1 : x * fac(x - 1);
fac = x => x == 0 ? 1 : x * fac(x - 1);
Pour pouvoir écrire la deuxième ligne de code, on est obligé d’initialiser fac à null. Mais comme l’apel de fac se fera plus tard, il sera redéfini par la deuxième ligne (et ne sera plus égal à null).