我有一個像這樣的函數(foo):我需要比較輸入字符串並相應地執行任務。 任務相同,但僅限於選定的一組值。對於所有其他值什麼都不做。針對一組字符串值的字符串比較
function foo(string x)
{
if(x == "abc")
//do Task1
if(x == "efg")
//do Task1
if(x == "hij")
//do Task1
if(x == "lmn")
//do Task1
}
是否有任何其他方式做檢查除此以外?或者OR
運營商在if
?
什麼是首選方式?
的['之開關(http://msdn.microsoft.com/en-us/library/vstudio/06tc147t.aspx)語句是非常適合這樣的情況下;它允許你寫出很好地分開的目標值和最少的不必要的樣板。 – Jon
一個switch語句在這裏沒有太大的區別IMO。 – James
將您的比較輸入到列表或集合中,並遍歷該集合並在for循環中檢查並跟蹤哪個集合條目匹配。我也不會這樣做==對字符串比較我會使用.Equals擴展方法 – Bearcat9425