int foo = bar > baz ? bar : baz;
條件(三元)運算符代碼樣式
int foo = someBoolean ? bar : baz;
int foo = (bar > baz) ? bar : baz;
int foo = (someBoolean) ? bar : baz;
int foo = (bar > baz) ? bar : baz;
int foo = someBoolean ? bar : baz;
我不能決定這三個我應該使用。我可以:
使用沒有括號和風險壞可讀性的例子如:
min[0] = min[0] > pos.x ? pos.x : 0;
始終使用括號,但風險 有點醜陋的代碼在短期表達式:
setValue(val + scrollBar.getBlockIncrement() * ((scrollsUp) ? -1 : 1));
停留在中間的某處並使用括號當有狀況空間 ,但如果條件只是一個布爾 變量:
min[0] = (min[0] > pos.x) ? pos.x : 0;
setValue(val + scrollBar.getBlockIncrement() * (scrollsUp ? -1 : 1));
感謝您提供幫助並回答問題。你已經回答的問題已經被封閉,因爲這是導致漫長辯論的事情,而不是解決某人遇到的問題。我想建議,在將來值得避免這些與意見有關的問題,或者有爭議的問題,因爲它們很可能會被關閉和刪除(所以您贏得的任何聲望也會消失)。 – AndrewC