Click here to Skip to main content
15,867,704 members
Articles / LINQ

LINQ: Implementing IN and NOT IN

Rate me:
Please Sign up or sign in to vote.
4.67/5 (3 votes)
22 Feb 2010CPOL 19.8K   4   3
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

This article was originally posted at http://nizarnoorani.com/index.php/archives/102

License

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


Written By
Software Developer (Senior) NCube, Inc.
United States United States
Nizar Noorani is an independent software consultant. He provides services in the areas of web applications and systems architecture, analysis, design and development. Although proficient in a variety of technologies, he specializes in the .NET technology. He can be reached at nizar.noorani@gmail.com.

Comments and Discussions

 
QuestionGood one Pin
Dholakiya Ankit6-Sep-14 17:29
Dholakiya Ankit6-Sep-14 17:29 
QuestionRe-inventing the wheel? Pin
Kubajzz22-Feb-10 12:53
Kubajzz22-Feb-10 12:53 
AnswerRe: Re-inventing the wheel? Pin
Nizar Noorani14-Mar-12 4:04
Nizar Noorani14-Mar-12 4:04 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.