Reality-Loop

C# on the journey to functional programming

January 03, 2008 | 0 Minute Read
This post was originally posted on my old blog.

From old-school imperative...
var list = new List<int>(){1, 2, 3};
int sum = 0;
foreach (int n in list)
{
   sum += n;
}
Assert.AreEqual(6, sum);
...over clumsy delegate...
var list = new List<int>(){1, 2, 3};
int sum = 0;
list.ForEach(delegate(int number) { sum += number; });
Assert.AreEqual(6, sum);
...to sexy lambda.
var list = new List<int>(){1, 2, 3};
int sum = 0;
list.ForEach(number => sum += number);
Assert.AreEqual(6, sum);