-4
在下面的C#示例,用&&和||在邏輯表達式中添加不必要的括號的目的
bool isTrue = (isP1 && isQ1) ||
(isP2 && isQ2) ||
(isP3 && isQ3);
括號是不必要的,因爲&&
具有比||
更高的優先級。
但是我聽說
的括號中增加了清晰度和因爲邏輯可能會失敗 否則做左到右PEMDAS處理
什麼是「因爲邏輯可能會失敗,否則做從左到右的PEMDAS處理「是指在這裏?
在進行從左到右的PEMDAS處理時,&&
沒有比||
更高的優先級嗎?
謝謝。
這意味着有人沒有內化運營商的優先規則(超越PEMDAS) - 或認爲其他讀者的代碼可能不會。夠公平(特別是因爲它們在編程語言之間有所不同)。 –
如果您需要考慮是否需要括號,那麼使用它們可能會更好。 –
有時它不僅有用括號,而且引入瞭解釋變量,爲條件提供了可讀的名稱。例如。而不是'isP2 && isQ2',你可以使用'isRentExpired' –