Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / LINQ

LINQ: Implementing IN and NOT IN

4.67/5 (3 votes)
22 Feb 2010CPOL 1  
Implementing IN and NOT IN in LINQ

I got tried of typing:

C#
var result = from s in source
                where items.Contains(s)
                select s;

and so I implemented the IN and NOT IN methods as extension methods:

C#
public static IQueryable<T> In<T>(this IQueryable<T> source, 
                            IQueryable<T> checkAgainst)
{
   return from s in source 
            where checkAgainst.Contains(s) 
            select s;
}
 
public static IQueryable<T> NotIn<T>(this IQueryable<T> source, 
                                  IQueryable<T> checkAgainst)
{
   return from s in source 
            where !checkAgainst.Contains(s) 
            select s;
}

Thus, I can now just do the following:

C#
var result = source.In(items);

What do you think – Good idea, Bad idea, Useless idea?

Post to Twitter Post to Yahoo Buzz Post to Delicious Post to Digg Post to Facebook Post to Reddit Reddit Post to StumbleUpon

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)