有没有一种简单的方法可以检查if语句中某个值是否为多个其他值之一?

时间:2019-11-23 14:31:44

标签: c#

当前我有代码:

        if(Settings.Trk2 == 20 || Settings.Trk2 == 50)
        {
            await ReviewAppAsync(Settings.Trk2);
        }

如果我想添加更多检查,是否有一种更简单的方法,而无需每次都对Settings.Trk2进行检查。

3 个答案:

答案 0 :(得分:6)

基本上,您可以尝试如下操作:

int[] valuesToCheck = new int[] { 20, 50, 60 ...};
if (valuesToCheck.Contains(Settings.Trk2))
{
    ....
}

答案 1 :(得分:1)

您可以通过以下方式实现

        var values = new []{20,50,35};
        if(values.Contains(Settings.Trk2)){
           //..
        }

        var values = new []{20,50,35};
        if(values.Any(v=>v==Settings.Trk2)){
                //...
        }

答案 2 :(得分:1)

使用Linq

假设Settings.Trk2 = 20

var valuesToCheck = new List<int> { 20, 40, 50};

if(valuesToCheck.Any(x => x.Equals(20))) 
{
  Console.WriteLine("yes");
}
else
{
   Console.WriteLine("no");
}
由于yes包含valuesToCheck

输出将为20