If you know a little bit of Perl,
you probably know the <map> function (perldoc -f map).
Map takes an expression E and a list L,
transforms the elements of L using the expression E and returns a new list with the transformed items.
A short example:
my @words = ('foo', 'bar', 'perl', 'is', 'cool');
my @firsts = map { substr($_, 0, 1) } @words;
The above code takes <@words> and transforms its elements into a list containing only the first letter of each word in @words. (At all perl monks ou there: i know that there are more simple ways to achieve that :-) ). Anyway, i tried to achieve the above functionalty in C#. It kinda works by using extensions on <IEnumerable>: