次の方法で共有


Boolean 式 (Visual Basic)

ブール式とは、評価結果が Boolean 型の値 (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 という式は Boolean 値を表しているため、= 記号は比較演算子として解釈されます。 スタンドアロンのステートメントでは、= 記号は代入演算子として解釈され、右の値が左の変数に代入されます。 次に例を示します。

If newCustomer = True Then
    newCustomer = False
End If

詳細については、「値の比較 (Visual Basic)」および「ステートメント (Visual Basic)」を参照してください。

比較演算子

=、<、>、<>、<=、>= などの比較演算子は、演算子の左側の式と右側の式を比較し、その結果を True または False として評価することでブール式を形成します。 次に例を示します。

42 < 81

42 は 81 より小さいので、このブール式の評価は True になります。 この種類の式の詳細については、「値の比較 (Visual Basic)」を参照してください。

比較演算子と論理演算子の組み合わせ

論理演算子を使って比較式を組み合わせると、より複雑なブール式を作成できます。 次の例では、比較演算子と論理演算子を組み合わせて使用しています。

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 になる場合も、右の式は評価されないまま次のコード行が実行されます。これは、左の式を評価しただけで式全体が true になることが決まるからです。

非ショートサーキット演算子との比較

これに対して、And 演算子または Or 演算子を使用した場合は、論理演算子の両側が評価されます。 次に例を示します。

If 45 < 12 And testFunction(3) = 81 Then
    ' Add code to continue execution.
End If

この例では、左の式の評価が False になる場合でも、testFunction() が呼び出されます。

かっこを使った式

かっこを使うと、ブール式を評価する順序を制御できます。 かっこで囲まれている式が最初に評価されます。 複数のレベルで入れ子になっている場合は、最も内側の式から評価されます。 かっこの中の式は、演算子の優先順位の規則に従って評価されます。 詳細については、「Visual Basic における演算子の優先順位」を参照してください。

参照

参照

比較演算子 (Visual Basic)

Visual Basic における演算子の優先順位

ブール型 (Boolean) (Visual Basic)

概念

Visual Basic の論理演算子とビット処理演算子

値の比較 (Visual Basic)

Visual Basic におけるステートメント

演算子の効率のよい組み合わせ (Visual Basic)