Boolean 式 (Visual Basic)
ブール式は、ブール データ型 (True
または False
) の値に評価される式です。 Boolean
式では、複数の形式を使用できます。 最もシンプルなのは、次の例に示すように、Boolean
変数の値を Boolean
リテラルに対して直接比較することです。
If newCustomer = True Then
' Insert code to execute if newCustomer = True.
Else
' Insert code to execute if newCustomer = False.
End If
= 演算子の 2 つの意味
代入ステートメント newCustomer = True
は、前の例の式と同じように見えますが、別の関数を実行し、使い方が異なります。 前の例では、式 newCustomer = True
はブール値を表し、=
記号は比較演算子として解釈されます。 スタンドアロン ステートメントでは、=
記号は代入演算子として解釈され、右側の値が左側の変数に代入されます。 次の例を使って説明します。
If newCustomer = True Then
newCustomer = False
End If
詳細については、「値の比較」と「ステートメント」を参照してください。
比較演算子
=
、<
、>
、<>
、<=
、>=
などの比較演算子によって、演算子の左側の式が演算子の右側の式と比較され、結果が True
または False
として評価されることによって、ブール式が生成されます。 次の例を使って説明します。
42 < 81
42 は 81 未満であるため、前の例のブール式は True
に評価されます。 この種類の式の詳細については、「値の比較」を参照してください。
論理演算子と組み合わせた比較演算子
論理演算子を使用して比較式を組み合わせると、より複雑なブール式を生成できます。 次の例では、論理演算子と共に比較演算子を使用する方法を示しています。
x > y And x < 1000
前の例では、式全体の値は、And
演算子の両側の式の値によって決まります。 両方の式が True
である場合、式全体が True
に評価されます。 いずれかの式が False
である場合、式全体が False
に評価されます。
ショートサーキット演算子
論理演算子 AndAlso
および OrElse
では、ショートサーキットと呼ばれる動作が見られます。 ショートサーキット演算子では、左オペランドが最初に評価されます。 左オペランドで式全体の値が判断された場合、右の式を評価せずにプログラムの実行が続行されます。 次の例を使って説明します。
If 45 < 12 AndAlso testFunction(3) = 81 Then
' Add code to continue execution.
End If
前の例では、演算子によって左の式 45 < 12
が評価されます。 左の式は False
に評価されるため、論理式全体が False
に評価される必要があります。 このため、プログラムの実行では、右の式 testFunction(3)
が評価されることなく、If
ブロック内のコードの実行がスキップされます。 この例では、左の式によって式全体が False とされたため、testFunction()
は呼び出されません。
同様に、OrElse
を使用する論理式の左の式が True
に評価された場合、左の式で式全体が既に検証済みであるため、右の式が評価されずに、次のコード行に実行が進みます。
非ショートサーキット演算子との比較
一方、論理演算子 And
と Or
が使用された場合、論理演算子の両側が評価されます。 次の例を使って説明します。
If 45 < 12 And testFunction(3) = 81 Then
' Add code to continue execution.
End If
前の例では、左の式が False
に評価されても testFunction()
が呼び出されます。
かっこで囲まれた式
かっこを使用して、ブール式の評価順序を制御できます。 かっこで囲まれた式は最初に評価されます。 複数レベルの入れ子の場合は、最も深い入れ子になった式が優先されます。 かっこ内では、演算子の優先順位のルールに従って、評価が行われます。 詳細については、「Visual Basic における演算子の優先順位」を参照してください。
関連項目
.NET