Visual Basic .NET/Assignation and comparison operators

From Wikibooks, the open-content textbooks collection

Jump to: navigation, search

[edit] Assignment

The "=" operator is used for assignment. The operator also serves as a comparison operator (see Comparison).

  • To set values:
x = 7     ' x is now seven; in math terms we could say "let x = 7"
x = -1294
x = "example"

You can use variables in the equal operator, as well.

Dim x As Integer
x = 4  ' Anywhere we use x, 4 will be used.

[edit] Comparison

The "=" operator is used for comparison. The operator also serves as a assignation operator (see Assignment).

  • To compare values:
If 4 = 9 Then       ' This code will never happen:
    End  ' Exit the program.
End If
If 1234 = 1234 Then ' This code will always be run after the check:
    MessageBox.Show("Wow!  1234 is the same as 1234.") 
      ' Create a box in the center of the screen.
End If

You can use variables in the equal operator, as well.

If x = 4 Then
    MessageBox.Show("x is four.")
End If

Let's try a slightly more advanced operation.

MessageBox.Show("Seven equals two is " & (7 = 2) & ".")
' The parentheses are used because otherwise, by order of operations
' (equals is processed last), it would be comparing "Seven equals two is 7" and "2.".
' Note here that the & operator appends to the string.  We will talk about this later.
'
'  The result of this should be a message box popping up saying "Seven equals two is
'   False."   This is because (7 = 2) will return False anywhere you put it.  In the
'   same sense, (7 = 7) will return True:
MessageBox.Show("Seven equals seven is " & (7 = 7) & ".")

You will get an error if you try to assign a constant or a literal a value, such as 7 = 2. You can compare 7 and 2, but the answer will always be False.

In the case of two equal operators appearing in a statement, such as

Dim x As Boolean
x = 2 = 7

The second equal operator will be processed first, comparing 2 and 7, giving a False. Then the first equal operator will be processed, assigning False to x.

[edit] More Comparison Operators

(x < y)  (x > y)  (x <> y)  (x <= y)  (x >= y)

(x less than y), (x more than y), (x not equal to y), (x less than or equal y) & (x greater than or equal to y)

Note the way round the operators are on the last two, putting them the other way round is not valid.