0

私はこれまで本当に理解していなかったこのコードに出くわしました。||私は、次のようなコードでor 演算子が何をするかを明確に知っています。

bool a = true;
bool b = false;
if(a || b)
{
   //does something, if one of a/b is true
}

しかし、これは構造です、私は理解していません:

public bool c
{
   get
   {
      return a || b; //?
   }
   set
   {
      c = value;
   }
}

この getter は return-statement で何を返しますか? またその理由は何ですか?

4

4 に答える 4

6

これにより、次の結果の値が返されます。

a || b

これはブール値になります。(関数シグネチャは、 を返すことを示していることに注意してくださいbool。)これは、他の例と本質的に違いはありません。

if(a || b)

ifステートメントはブール値に評価される何かを期待しますが、これはon ||two 値が行います。

return通常、キーワードは代入ステートメントと同じ演算子の優先順位を持つと考えることができます(スタック上の関数の戻りパスに値を「代入」します)。したがって、ここで暗黙の括弧のセットを想像できます。

return (a || b);

最初に を評価してから、値a || bを呼び出しreturnます。

于 2013-03-18T11:56:54.107 に答える
0

a または b のいずれかが true の場合、true を返します。

于 2013-03-18T11:56:16.330 に答える
0

非常に単純です。a または b のいずれかが true (または両方が true) の場合に true を返します。

于 2013-03-18T11:56:38.573 に答える