1. ホーム
  2. c#

[解決済み] C# 条件付き AND (&&) OR (||) 優先順位

2023-07-01 09:22:39

質問

私の仕事場では、いつも不必要なコーディング論争になります。今日、私は条件付き AND (&&) と OR (||) のどちらが優先順位が高いか尋ねました。同僚の 1 人が、それらは同じ優先順位であると主張しましたが、私は疑問を持っていたので、それを調べました。

MSDN によると、AND (&&) は OR (||) よりも優先順位が高いそうです。しかし、懐疑的な同僚にそれを証明することができますか?

http://msdn.microsoft.com/en-us/library/aa691323(VS.71).aspx

bool result = false || true && false; // --> false
// is the same result as
bool result = (false || true) && false; // --> false
// even though I know that the first statement is evaluated as 
bool result = false || (true && false); // --> false

そこで質問ですが、AND (&&) が OR (||) よりも優先順位が高いことをどうやってコードで証明するのでしょうか?もしあなたの答えが重要でないというのであれば、なぜそのように言語で構築されているのでしょうか?

どのように解決するのですか?

最初のfalseをtrueに変更します。私はそれが(真|真)を持っている愚かなように見える知っているが、それはあなたのポイントを証明している。

bool result = true || true && false;   // --> true 
     result = (true || true) && false; // --> false
     result = true || (true && false); // --> true