2 回答

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個(gè)贊
你不可以做這個(gè)。
通常在if
語句中檢查布爾類型。
所以 if(str == "a")
這會檢查str == "a"
并返回true
或false
基于 的值str
。
但是當(dāng)你在做
if(str == "a" || "b" || "c" || "d")
你實(shí)際上在做什么 if( (str == "a") || ("b") || ("c") || ("d") )
在這條指令中,第一部分是返回布爾值,但其他部分不返回布爾值,這對if
語句無效。
同樣的方式你也不能跟隨。
int a = 5, b = 6, c = 7; if(a == b == c) //This is not valid statement { }
這將是
((a == b) == c)
,(a == b)
結(jié)果為true
或false
。所以在第二部分檢查將是,
(true/false == c)
, 這里你不能比較 Boolean 和 int 并且不能提供布爾結(jié)果。
我想做一些類似于 if(str == "a" || "b" || "c" || "d") 或 if (str in {"a", "b", "c", "d"})
正如我們所見,我們做不到if(str == "a" || "b" || "c" || "d")
。
但是,如果您可以自由擁有一個(gè)List of strings
確實(shí)攜帶所有字符串元素的。您需要創(chuàng)建一個(gè)類級別(全局)列表并檢查是否有條件,您可以執(zhí)行以下操作。
讓我們說listOfElements
你有這樣的清單。
if(listOfElements.Contains(str))

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超9個(gè)贊
有否提供這樣的語法。這是對您的要求的簡單回答。
或者
您可以按照Dmitry Bychenko在評論中的建議進(jìn)行操作。
if (new [] {"a", "b", "c", "b"}.Contains(str)) { ... }
- 2 回答
- 0 關(guān)注
- 146 瀏覽
添加回答
舉報(bào)