This is a question I got from Siten some time ago. I wont hide that I hate this one topic. Here are some code shortages you can get by using lambdas. ;)
Lambdas are used instead of delegates, as shortened replacement for them. Many possible usages of lamdas lie in methods of collections, when you want to select some elements, or check is some element or all elements comply with your demands. For a start we need a list:
List<string> originalList = new List<string>()
{
"123a", "", "aabb", "zzxxa", "ccccdd", "so on a", "etc", "...a",
};
Then we can use lambda expressions with methods that require delegates. For example Find, FindAll, Exists, TrueForAll as well as Any, All and some others. The examples below do the same, the only difference is that lambdas-code is shorter and more readable. ;)
List<string> selectiveInclusion =
originalList.FindAll(new Predicate<string>(delegate(string everyobj)
{
return everyobj.Contains("a");
}));
List<string> selectiveInclusion2 =
originalList.FindAll( (string everyobj) =>
{
return everyobj.Contains("a");
});
Here is another example of lambdas. The difference is the same, in the line of method call.
bool isThere123 =
originalList.Exists(new Predicate<string>(delegate(string s)
{
return s == "123a";
}));
bool isThere123lambda =
originalList.Exists( (string s) =>
{
return s == "123a";
});
The full source code is attached. Feel free to play with it.
Regards, :cool:
Arek Bulski.


Sign In
Create Account



Back to top









