使用條件?:(三元)運算符的好處與標準的if-etc語句相比,?:操作符的優缺點是什么?顯而易見的是:有條件的?:運算符在處理直接值比較和賦值時更短、更簡潔似乎不像if/Else構造那樣靈活。標準IF/Else可以應用于更多情況(例如函數調用)。往往是不必要的長根據語句的不同,每個語句的可讀性似乎各不相同。在第一次接觸到?:操作符之后,我花了一段時間來理解它是如何工作的??紤]到我與許多非程序員一起工作,您會建議在可能的情況下使用它嗎?還是堅持使用if/Else?
3 回答

LEATH
TA貢獻1936條經驗 獲得超7個贊
int result = Check() ? 1 : 0;
int result = FirstCheck() ? 1 : SecondCheck() ? 1 : ThirdCheck() ? 1 : 0;

萬千封印
TA貢獻1891條經驗 獲得超3個贊
readonly int speed = (shiftKeyDown) ? 10 : 1;
readonly int speed; if (shifKeyDown) speed = 10; // error - can't assign to a readonlyelse speed = 1; // error
MoveCar((shiftKeyDown) ? 10 : 1);
if (shiftKeyDown) MoveCar(10);else MoveCar(1);
object thing = (reference == null) ? null : reference.Thing;
?:

墨色風雨
TA貢獻1853條經驗 獲得超6個贊
if (a > 0) answer = compute(a, b, c, d, e);else answer = compute(-a, b, c, d, e);
answer = compute(a > 0 ? a : -a, b, c, d, e);
- 3 回答
- 0 關注
- 899 瀏覽
添加回答
舉報
0/150
提交
取消