What are lambda expressions?
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:
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.Code:List<string> originalList = new List<string>()
{
"123a", "", "aabb", "zzxxa", "ccccdd", "so on a", "etc", "...a",
};
Here is another example of lambdas. The difference is the same, in the line of method call.Code: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");
});
The full source code is attached. Feel free to play with it.Code:bool isThere123 =
originalList.Exists(new Predicate<string>(delegate(string s)
{
return s == "123a";
}));
bool isThere123lambda =
originalList.Exists( (string s) =>
{
return s == "123a";
});
Regards,
Arek Bulski.


LinkBack URL
About LinkBacks







Reply With Quote









Bookmarks