什么是Oracle IN语句的C#等价物?

Llo*_*oyd 0 c# oracle syntax

我如何检查变量是否是少数值之一?

IN在甲骨文会念想

where strVar in ('A','H','X','Z')
Run Code Online (Sandbox Code Playgroud)

无需写

if (strVar == "A" || strVar == "H" || strVar == "X" || strVar =="Z") 
Run Code Online (Sandbox Code Playgroud)

编辑以更改变量名称

Tig*_*ran 7

这应该足够你了:

if(new string[]{"A","B",".."}.Contains(strVar)) {
    .... CONTAINS ...
}
Run Code Online (Sandbox Code Playgroud)

也可以使用

if(new string[]{"A","B",".."}.Any(strVar)) {
    .... CONTAINS ...
}
Run Code Online (Sandbox Code Playgroud)

Contains也有效C# 2.0,而Any不是.

编辑

正确地指出@brendan,摆脱var命名变量,即C#关键字,让我们避免造成混淆.

  • 您可能不应该将var用作变量名,因为这是一个C#关键字 - http://msdn.microsoft.com/en-us/library/bb383973.aspx,var var ="A"; 似乎工作但阅读起来很奇怪. (3认同)