ホームページ >バックエンド開発 >PHPチュートリアル >C# OR 式の `|` 演算子と `||` 演算子の違いは何ですか?

C# OR 式の `|` 演算子と `||` 演算子の違いは何ですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-13 08:28:141014ブラウズ

What's the Difference Between the `|` and `||` Operators in C# OR Expressions?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。