ホームページ >バックエンド開発 >PHPチュートリアル >C# OR 式の `|` 演算子と `||` 演算子の違いは何ですか?
OR 式の | と || 演算子はどのように異なりますか?
の場合論理演算子を使用すると、よく || (doubleパイプ) OR 式の演算子。ただし、単一のパイプ演算子 | もあります。これらの使用法の違いを理解することが重要です。
短絡動作
&& や && など& 演算子、|| 演算子は「短絡」演算子です。 OR 式では、これは、最初の条件が true と評価される場合、後続の条件は評価されないことを意味します。
例:
if(condition1 || condition2 || condition3)
条件 1 が true の場合、条件 2 と条件 3 は評価されません。
対照的に、| 演算子はこの短絡を示しません。
if(condition1 | condition2 | condition3)
この演算子を使用すると、条件 1 が true の場合でも、条件 2 と条件 3 がチェックされます。これは、パフォーマンスを向上させることができるため、条件が高価な関数である場合に有利です。
Null 参照と例外
ただし、 | 演算子。 NullReferenceExceptions を防ぐことができる || 演算子とは異なり、| 演算子はこの保護を提供しません。
例:
if(class != null & & class.someVar < 20)
|| 演算子を使用すると、クラスが null の場合、ステートメントは最初の条件を評価した後に正常に終了します。一方、| 演算子を使用すると、class が null であっても class.someVar が評価され、NullReferenceException がトリガーされる可能性があります。
ビット単位の操作
OR 式とは別に、| と& 演算子には、ビット単位の演算という別の用途もあります。これらの操作にはバイナリ表現内のビットの操作が含まれ、特定のビットをより正確に制御できます。
以上がC# OR 式の `|` 演算子と `||` 演算子の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。