C#模拟运算符中的sql

er-*_*r-v 7 c#

SQL中有运算符

SELECT * FROM MyTable WHERE id IN (1, 2, 3, 4, 5)
Run Code Online (Sandbox Code Playgroud)

在C#中是否有类似的sintax,我的意思是

if(variable in (1, 2, 3, 4, 5)){
}
Run Code Online (Sandbox Code Playgroud)

Ami*_*abh 14

你可以有

int[] data = {1, 2, 3, 4, 5};

if(data.Contains(variable))
{

}
Run Code Online (Sandbox Code Playgroud)


pbl*_*cci 10

没有一个好的,但你可以自己编写一个扩展方法:

public static class Extensions
{
  public static bool In<T>(this T value, params T[] items)
  {
      return items.Contains(value);
  }
}

if (v.In(1,2,3,5)) { /* do stuff */ }
Run Code Online (Sandbox Code Playgroud)

我没有测试过,但它应该是好的.

更新:正如OP建议的那样,我纠正了一些错别字.