I just started playing with lambdas and Linq expression for self learning. I took the simple factorial problem for this. with the little complex scenario where find the factorial for given n numbers (witout using recursive loops).
Below the code i tried. But this is not working.
public void FindFactorial(int range)
{
var res = Enumerable.Range(1, range).Select(x => Enumerable.Range(0, x).Where(y => (y > 1)).Select(y => y * (y-1)));
foreach (var outt in res)
Console.WriteLine(outt.ToString());
}
this is the procedure i used
- loop through the numbers 1 to n -- Enumerable.Range(1, range).
- select each number x and again loop them upto x times (instead of
recursion)
- and select the numbers Where(y => (y > 1)) greater than 1 and multiply that with
(y-1)
i know i messed up somewhere. can someone tell me whats wrong and any other possible solution.
EDIT:
i am going to let this thread open for some time... since this is my initial steps towards lambda.. i found all the answers very useful and informative.. And its going to be fun and great learning seeing the differnt ways of approaching this problem.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…