A predicate is a function that returns true or false and can be used for example to filter your results.. For example your .NET RemoveAll(…) function can actually do things like:

Remove all records that say …

  • "start with S"
  • or "are 5 letters long"
  • etc etc..
  • whatever you wanna do.. GO WILD!

And knowing this, plus using our .NET 2.0 anonymous methods, we can do the above filtering in a single line!  We don’t even need to write a special predicate function.

For example if you have a general list of ints, and you want to remove all ints that are equal to the value 5, you can do the following:

yourList.RemoveAll(new System.Predicate<int>( delegate(int val) { return (val == 5); }));

The keyword delegate(int val) { … } allows you to create an anonymous method.

Follow Up


Other Interesting Posts

 

3 Responses to .NET Predicates (and a .RemoveAll() example)

  1. Mariusz says:

    awesome. saved me a lot of code. thanx :-)

  2. Cicely Arter says:

    I’d really have to discuss with you here. Which isn’t something I usually do! I like reading a post that can make people think. Also, many thanks allowing me to comment!

Leave a Reply

Your email address will not be published. Required fields are marked *

*


+ 1 = 6

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>