常に AndAlso 演算子と OrElse 演算子を使用する必要がありますか?

StackOverflow https://stackoverflow.com/questions/55013

  •  09-06-2019
  •  | 
  •  

質問

を使用したくない状況はありますか? AndAlso 演算子ではなく、 And オペレーター?…または、使用したくない場合 OrElse 演算子ではなく、 Or オペレーター?

役に立ちましたか?

解決

から MSDN:

短絡のトレードオフ

ショートサーキットは、論理演算の結果を変更できない式を評価しないことにより、パフォーマンスを向上させることができます。ただし、その式が追加のアクションを実行する場合、ショートサーキットはそれらのアクションをスキップします。たとえば、式に Function プロシージャへの呼び出しが含まれている場合、式が短絡されているとそのプロシージャは呼び出されず、Function に含まれる追加のコードは実行されません。プログラム ロジックが追加コードに依存している場合は、おそらく短絡演算子を避けるべきです。

他のヒント

And 演算子ではなく AndAlso 演算子を使用したくない状況はありますか?

もちろん:それを確認したい場合は 両方 式の両側が評価されます。これは、たとえば、両側が副作用のある他の操作の結果としてブール値を返すメソッド呼び出しである場合に当てはまります。

しかし、一般的には、 AndAlso/OrElse 使うときはいつでも &&/|| もちろん、ほとんどの場合は C/C++/C# で行われます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top