2013-11-24 40 views
4

這通常是我可以很容易地在網上找到的東西,但我認爲我有麻煩的措辭,所以如果這是重複的問題,我很抱歉。使用If「II」來檢查同一查詢的多種可能性

我正在尋找一個更簡潔的方法來做IF/OR檢查相同的查詢。例如:

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

我正在尋找更簡潔的清潔方法來做同樣的事情。我希望像這些的工作,但他們當然不:

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

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

回答

10

創建包含各種可能性的集合:

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

您可以創建string集合,然後使用Contains方法:

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

c#中的'in'語句? – MarcinJuraszek

+0

@MarcinJuraszek是的,我有更新回答 –

2

它可能沒有多大意義在這裏,但在類似情況下,switch可能是有用的:

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