使用If“II”检查同一查询的多种可能性

时间:2013-11-24 20:10:55

标签: c# if-statement

这通常是我可以在网上很容易找到的东西,但我认为我的措辞有问题,所以如果这是一个重复的问题我会道歉。

我正在寻找一种更简洁的方法来对同一查询进行IF / OR检查。例如:

if (sCheck == "string1" || sCheck == "string2" || sCheck == "string3")
{
   MessageBox.Show(sCheck + " is one of the three possible strings.");
}

我正在寻找一种更简洁的方式来做同样的If / Or。我希望这样的东西能起作用但当然不会:

if (sCheck == "string1" || "string2" || "string3") { }

if (sCheck == ("string1" || "string2" || "string3")) { }

3 个答案:

答案 0 :(得分:10)

创建一个包含不同可能性的集合:

if(new[] {"string1", "string2", "string3" }.Contains(sCheck)) { }

答案 1 :(得分:3)

您可以创建string的集合,然后使用Contains方法:

List<string> myStrings = new List<string>(){"string1", "string2" , "string3"};
if (myStrings.Contains(sCheck))
{
   //Do Work
}

答案 2 :(得分:2)

这里可能没什么意义,但在类似的情况下,switch可能很有用:

switch (sCheck)
{
case "string1":
case "string2":
case "string3":
    MessageBox.Show(sCheck + " is one of the three possible strings.");
    break;    
}