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 ```