2 つの Boolean 式に対して論理和演算を実行するか、2 つの数値式に対してビットごとの結合を実行します。
構文
result = expression1 Or expression2
部品
result
必須。 任意の Boolean または数値式。
Boolean比較の場合、resultは 2 つのBoolean値の包括的な論理和です。 ビットごとの演算の場合、 result は、2 つの数値ビット パターンの包括的なビットごとの結合を表す数値です。
expression1
必須。 任意の Boolean または数値式。
expression2
必須。 任意の Boolean または数値式。
注釈
Boolean比較では、expression1とexpression2の両方がFalseと評価された場合にのみ、resultがFalseされます。 次の表は、 result の決定方法を示しています。
expression1が |
expression2は |
resultの値は次の値です。 |
|---|---|---|
True |
True |
True |
True |
False |
True |
False |
True |
True |
False |
False |
False |
注
Boolean比較では、Or演算子は常に両方の式を評価します。これにはプロシージャ呼び出しを含めることができます。
OrElse 演算子はショートサーキットを実行します。つまり、expression1がTrue場合、expression2は評価されません。
ビットごとの演算の場合、 Or 演算子は、2 つの数値式で同じ位置にあるビットのビットごとの比較を実行し、次の表に従って対応するビットを result に設定します。
expression1のビットが |
そして、 expression2 のビットは |
result内のビットは次の値です。 |
|---|---|---|
| 1 | 1 | 1 |
| 1 | 0 | 1 |
| 0 | 1 | 1 |
| 0 | 0 | 0 |
注
論理演算子とビット演算子は、他の算術演算子や関係演算子よりも優先順位が低いため、正確な実行を確保するために、ビットごとの演算をかっこで囲む必要があります。
データ型
オペランドが 1 つの Boolean 式と 1 つの数値式で構成されている場合、Visual Basic は Boolean 式を数値 ( True の場合は –1、 Falseの場合は 0) に変換し、ビット演算を実行します。
Boolean比較の場合、結果のデータ型はBoolean。 ビットごとの比較では、結果のデータ型は、 expression1 と expression2のデータ型に適した数値型です。
演算子の結果のデータ型の「リレーショナル比較とビットごとの比較」の表を参照してください。
オーバーロード
Or演算子はオーバーロードできます。つまり、オペランドがそのクラスまたは構造体の型を持つ場合、クラスまたは構造体はその動作を再定義できます。 コードでこのようなクラスまたは構造体でこの演算子を使用する場合は、再定義された動作を理解していることを確認してください。 詳細については、「 演算子プロシージャ」を参照してください。
例 1
次の例では、 Or 演算子を使用して、2 つの式に対して包括的な論理和演算を実行します。 結果は、2 つの式のいずれかがTrueされているかどうかを表すBoolean値になります。
Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstCheck, secondCheck, thirdCheck As Boolean
firstCheck = a > b Or b > c
secondCheck = b > a Or b > c
thirdCheck = b > a Or c > b
前の例では、それぞれ True、 True、および Falseの結果が生成されます。
例 2
次の例では、 Or 演算子を使用して、2 つの数値式の個々のビットに対して包括的な論理和演算を実行します。 オペランド内の対応するビットのいずれかが 1 に設定されている場合、結果パターンのビットが設定されます。
Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstPattern, secondPattern, thirdPattern As Integer
firstPattern = (a Or b)
secondPattern = (a Or c)
thirdPattern = (b Or c)
前の例では、それぞれ 10、14、14 の結果が生成されます。
こちらも参照ください
.NET