ブール型の論理演算
否定演算子
論理否定演算子は Not を使用します。
値がTrueの場合はFalse、Falseの場合はTrueを返します。
Not 値
それではサンプルを見てみましょう。
Console.WriteLineで、否定演算子の動作をコンソールに出力します。
1 2 3 4 5 |
Dim a As Boolean = True Dim b As Boolean = False Console.WriteLine(Not a) Console.WriteLine(Not b) |
上記を実行した結果がこちらです。
False
True
否定した値がコンソールに出力されました。
AND演算子
AND演算子は And または AndAlso を使用します。
違いは以下のとおりです。
And ・・・ 左辺がFalseであっても右辺を評価する
AndAlso ・・・ 左辺がFalseの場合右辺を評価しない
値 And 値
値 AndAlso 値
それではサンプルを見てみましょう。
Console.WriteLineで、And演算子の動作をコンソールに出力します。
1 2 3 4 5 6 7 8 9 10 11 12 |
Console.WriteLine(True And True) '① Console.WriteLine(True And False) '② Console.WriteLine(False And True) '③ Console.WriteLine(False And False) '④ Private Function test() As boolean Console.WriteLine("右辺を評価しました。") return true End Function Console.WriteLine(False And test()) '⑤ Console.WriteLine(False AndAlso test()) '⑥ |
上記を実行した結果がこちらです。
True ・・・①
False ・・・②
False ・・・③
False ・・・④
右辺を評価しました。 ・・・⑤
False
False ・・・⑥
処理した結果がコンソールに出力されました。
⑤の場合は左辺がFalseでも右辺のメソッドを実行しているのがわかります。
OR演算子
OR演算子は Or または OrElse を使用します。
違いは以下のとおりです。
Or ・・・ 左辺がtrueであっても右辺を評価する
OrElse ・・・ 左辺がtrueの場合右辺を評価しない
値 Or 値
値 OrElse 値
それではサンプルを見てみましょう。
Console.WriteLineで、OR演算子の動作をコンソールに出力します。
1 2 3 4 5 6 7 8 9 10 11 12 |
Console.WriteLine(True Or True) '① Console.WriteLine(True Or False) '② Console.WriteLine(False Or True) '③ Console.WriteLine(False Or False) '④ Private Function test() As boolean Console.WriteLine("右辺を評価しました。") return true End Function Console.WriteLine(true Or test()) '⑤ Console.WriteLine(true OrElse test()) '⑥ |
上記を実行した結果がこちらです。
True ・・・①
True ・・・②
True ・・・③
False ・・・④
右辺を評価しました。 ・・・⑤
True
True ・・・⑥
処理した結果がコンソールに出力されました。
⑤の場合は左辺がTrueでも右辺のメソッドを実行しているのがわかります。
排他的OR演算子
排他的OR演算子は Xor を使用します。
右辺または左辺どちらかがTrueで、もう一方がFalseである場合にTrueとなります。
値 Xor 値
それではサンプルを見てみましょう。
Console.WriteLineで、排他的OR演算子の動作をコンソールに出力します。
1 2 3 4 |
Console.WriteLine(True Xor True) Console.WriteLine(True Xor False) Console.WriteLine(False Xor True) Console.WriteLine(False Xor False) |
上記を実行した結果がこちらです。
False
True
True
False
処理した結果がコンソールに出力されました。
以上が、論理演算子を使用した判定の方法になります。
ぜひ参考にしてみてください。