Is there a C# IN operator?

c#, in-operator, operators, sql

Solution

If you wanted to write .In then you could create an extension that allows you to do that.

static class Extensions
{

    public static bool In<T>(this T item, params T[] items)
    {
        if (items == null)
            throw new ArgumentNullException("items");

        return items.Contains(item);
    }

}


class Program
{

    static void Main()
    {


        int myValue = 1;

        if (myValue.In(1, 2, 3))
            // Do Somthing...

        string ds = "Bob";

        if (ds.In("andy", "joel", "matt")) 
        // Do Someting...
    }
}

Problem

In SQL, you can use the following syntax: ``` SELECT * FROM MY_TABLE WHERE VALUE_1 IN (1, 2, 3) ``` Is there an equivalent in C#? The IDE seems to recognise "in" as a keyword, but I don't seem to be able to find any information on it. So, is it possible to do something like the following: ``` int myValue = 1; if (myValue in (1, 2, 3)) // Do something ``` Instead of ``` int myValue = 1; if (myValue == 1 || myValue == 2 || myValue == 3) // Do something ```

Original source

Related problems