繁体   English   中英

C#中的运算符:SQL Server中是否有“IN”运算符?

[英]Operators in C#: Is there something like the “IN” operator in SQL Server?

我在C#代码隐藏中得到了这个语句,我正在检查我的变量是否等于特定的数字,如果是,它将处理一些代码:

try
{
    int TaskID = Convert.ToInt32(ddlTask.SelectedValue);

    if (TaskID == 157)
    {
         //lblAccountName.Text = (DT1["CUST_NM"].ToString());
         Label2.Text = (DT1["CUST_NM"].ToString());
         //lblAccountName.Visible = true;
         TBAccountNum.Text = (DT1["CUST_NUM"].ToString());
         TBAccountNum.Visible = true;
     }
}
catch (Exception ae)
{
     Response.Write(ae.Message);
}

工作完美。 但是,现在我想在“if”列表中添加一些其他数字。 在SQL Server中,它将类似于:

if (TaskID IN (157, 158, 159, 160, 162, 165))

有没有办法在C#中做到这一点? 我还在学习,所以如果这有点简单,我道歉。

您可以将项目的集合(例如数组)与LINQ中的Contains()一起使用:

new[] { 157, 158, 159, 160, 162, 165 }.Contains(TaskID)

写吧 :

if ( new int[]{157, 158, 159, 160, 162, 165}.Contains(TaskID))
    ....

不要忘记添加以下参考:

using System.Linq;

您还可以使用switch语句,这将允许其他可能性:

switch (taskId)
{
    case 175:
    case 176:
    case 177:
        // code for any of the values above
        break;

    case 200:
        // yet another possibility
        break;

    default:
        // any other value
        break;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM