Feb 14, 2008

Lambda Expression for maximum value.

When I don't use Lambda Expression.

int[] list = { 3, 1, 4, 1, 5, 9, 2 };

int max = 0;

for (int i = 0; i < list.Length; i++)
{
if (max < list[i])
{
max = list[i];
}
}

Console.WriteLine(max);


When I use Lambda Expression.

int[] list = { 3, 1, 4, 1, 5, 9, 2 };

Func fmax = null;
fmax = (l, x, i) => (i == l.Length) ? x : fmax(l, (x > l[i]) ? x : l[i], i + 1);

Console.WriteLine(fmax(list, 0, 0));


I can write functional program with Lambda Expression.

No comments: