public static int Fact(int item, bool isRecursion = true) { FactDelegate factDelegate; if (isRecursion) { factDelegate = new FactDelegate(FactRecursion); } else { factDelegate = new FactDelegate(FactIterative); } return(factDelegate(item)); }
public static void Main(string[] args) { FactDelegate d1 = delegate(int n) { int fact = 1; for (int i = 1; i <= n; i++) { fact = fact * i; } return(fact); }; int res = d1(5); Console.WriteLine(res); Console.ReadLine(); }