Click here to Skip to main content
13,247,608 members (22,066 online)
Click here to Skip to main content
Add your own
alternative version

Tagged as


4 bookmarked
Posted 22 Feb 2010

LINQ: Implementing IN and NOT IN

, 22 Feb 2010
Rate this:
Please Sign up or sign in to vote.
Implementing IN and NOT IN in LINQ

I got tried of typing:

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:

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:

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, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Nizar Noorani
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

You may also be interested in...

Comments and Discussions

QuestionGood one Pin
AJD-salute6-Sep-14 18:29
memberAJD-salute6-Sep-14 18:29 
QuestionRe-inventing the wheel? Pin
Kubajzz22-Feb-10 13:53
memberKubajzz22-Feb-10 13:53 
AnswerRe: Re-inventing the wheel? Pin
Nizar Noorani14-Mar-12 5:04
memberNizar Noorani14-Mar-12 5: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.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web03 | 2.8.171114.1 | Last Updated 22 Feb 2010
Article Copyright 2010 by Nizar Noorani
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid