ブール式が評価されても見つからない順序についての説明を探しています。ブール式がどのような順序で評価されていますか
は、この文を見てみましょう:
if (locClsTanken.PlaceID == -1 && locRwF.PlaceID > -1 || locClsTanken.DagPrijs == 0)
これが評価される方法。
if ((locClsTanken.PlaceID == -1 && locRwF.PlaceID > -1) || locClsTanken.DagPrijs == 0)
またはこのような:
if (locClsTanken.PlaceID == -1 && (locRwF.PlaceID > -1 || locClsTanken.DagPrijs == 0))
が、私は英語が私の言語ではないので、正しい検索用語を知らないこれについていくつかのドキュメントがあります
が、それはこのようになります。
私は完全にそれを理解することができますので、
で、ために追求用語は 'precedence'である - しかし、私も注意したいです私が考えることができるほとんどすべての言語で、余分な角括弧はパフォーマンスのペナルティを課すものではないので、すべてがわからない場合は、括弧を挿入するだけです。 –
@Damien_The_Unbelieverはい私はいつも括弧を使いますが、今日のsomenonesコードでこの表現を見つけ、どこに括弧を入れるべきかを知りたがっています。ありがとう – GuidoG
確かに括弧を使います。何らかの形で動作するコードだけでなく、他の人が理解できるコードを書くべきです。角かっこを追加すると、少なくとも次のコードを読んでいる人がこの同じ質問をする必要はありません。条件を関数にリファクタリングすることは、将来のプログラマーにとってより良いことかもしれません。あなたが未来のプログラマーであれば、物事をより良くするチャンスを逃さないでください:) – oerkelens