Visual Basic .NET/Assignation and comparison operators

Assignment

edit

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
  Dim y As Integer = 4
  x = y  ' Anywhere we use x, 4 will be used.
  y = 5  ' Anywhere we use y, 5 will be used, x stays to 4

Comparison

edit

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 the strings "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.

More Comparison Operators

edit
 (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.