# Logical Operators Within Conditionals

If statements test whether a condition is true. Often you will want to test whether two conditions are both true, or only one is True, or neither is True. VB.NET provides a set of logical operators for this, as shown in Table 3-3. This table assumes two variables, x and y, in which x has the value 5, and y the value 7.

Table 3-3. Logical operators (assumes x = 5 and y = 7)

Operator

Given this statement:

The expressionevaluates to:

Logic

And

x = 3 And y = 7

False

Both must be true to evaluate true.

Or

x = 3 Or y = 7

True

Either or both must be true to evaluate true.

XOr

X = 5 XOr y = 7

False

True only if one (and only one) statement is true.

Not

Not x = 3

True

Expression must be false to evaluate true.

The `And` operator tests whether two statements are both true. The first line in Table 3-3 includes an example that illustrates the use of the `And` operator:

`x = 3 And y = 7`

The entire expression evaluates false because one side (`x = 3`) is false. (Remember that x = 5 and y = 7.)

With the `Or` operator, either or both sides must be true; the expression is false only if both sides are false. So, in the case of the example in Table 3-3:

`x = 3 Or y = 7`

the entire expression evaluates true because one side (`y = 7`) is true.

The `XOr` logical operator (which stands for eXclusive Or) is used to test if one (and only one) of the two statements is correct. Thus, the example from Table 3-3:

`x = 5 XOr y = 7`

evaluates false because both statements ...

Get Programming Visual Basic .NET, Second Edition now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.