I am writing few post on different type of delegates and this post also will be part of it. In this post I am going to write about Predicate delegate which is available from C# 2.0. Following is list of post that I have written about delegates.
Predicate<T> – where T is any generic type and this delegate will always return Boolean value. The most common use of a predicate delegate is to searching items in array or list. So let’s take a simple example. Following is code for that.
If you see in the above code I have written a predicate delegate numberGreaterthenFive to decide whether numebr is greater then five or not. Then I have created a list of number and use the predicate delegate which we created just before find that number is greater then five or not. So once we get new list, I have printed the number with console writeline and action delegate.
Let’s run the application and following is output as expected.

Hope you like it. Stay tuned for more updates!!
Predicate delegate in C#:
As per MSDN predicate delegate is a pointer to a function that returns true or false and takes generics types as argument. It contains following signature.Predicate<T> – where T is any generic type and this delegate will always return Boolean value. The most common use of a predicate delegate is to searching items in array or list. So let’s take a simple example. Following is code for that.
using System; using System.Collections.Generic; namespace DelegateExample { class Program { static void Main(string[] args) { Predicate<int> numberGreaterthenFive = i => i > 5; List<int> NumberList = new List<int>{1,2,3,4,5,6,7,8,9,10}; var newlist = NumberList.FindAll(numberGreaterthenFive); Action<int> print = i => Console.WriteLine(i); newlist.ForEach(print); } } }
If you see in the above code I have written a predicate delegate numberGreaterthenFive to decide whether numebr is greater then five or not. Then I have created a list of number and use the predicate delegate which we created just before find that number is greater then five or not. So once we get new list, I have printed the number with console writeline and action delegate.
Let’s run the application and following is output as expected.
Hope you like it. Stay tuned for more updates!!
0 comments:
Post a Comment
Your feedback is very important to me. Please provide your feedback via putting comments.