ホームページ > バックエンド開発 > PHPチュートリアル > プログラミングにおける「||」演算子と「|」演算子の違いは何ですか?

プログラミングにおける「||」演算子と「|」演算子の違いは何ですか?

Susan Sarandon
リリース: 2024-12-08 09:28:11
オリジナル
719 人が閲覧しました

What's the Difference Between the `||` and `|` Operators in Programming?

プログラミングでの OR 演算子の使用: | vs ||

C# や PHP などのプログラミング言語で OR 式を操作する場合、二重パイプ (||) 演算子を使用するのが一般的です。ただし、場合によっては単一パイプ (|) も使用されます。これら 2 つの演算子の違いは何ですか?

短絡動作

二重パイプ (||) は「短絡」演算子です。これは、複数の条件を含む OR 式で、最初の条件が true と評価される場合、残りの条件は評価されないことを意味します。

例:

if (condition1 || condition2 || condition3)
ログイン後にコピー

条件 1 が true の場合、評価は停止し、条件 2 と条件 3 はチェックされません。

通常評価

対照的に、単一パイプ (|) 演算子は通常の評価を実行します。これは、最初の条件の結果に関係なく、OR 式内のすべての条件が常に評価されることを意味します。

if (condition1 | condition2 | condition3)
ログイン後にコピー

この例では、条件 1 が true の場合でも、3 つの条件すべてが評価されます。

潜在的な警告

一般に単一パイプ (|) 演算子の方がパフォーマンスが向上しますが、それには潜在的な注意点が 1 つあります。短絡 OR とは異なり、通常の OR 演算子は、null 参照または同様のエラーが発生しても評価を停止しません。

例:

if (class != null || class.someVar < 20)
ログイン後にコピー

クラスが null の場合、通常の OR 演算子はOR 演算子は引き続き class.someVar を評価しようとするため、NullReferenceException が発生します。

Bitwise演算

OR 式での使用に加えて、 |および & 演算子はビット単位の演算にも使用できます。このコンテキストでは、オペランドのバイナリ表現に対してバイナリ演算を実行します。

以上がプログラミングにおける「||」演算子と「|」演算子の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート