# Visual Basic .NET/Assignation and comparison operators

## Assignment

[edit | edit source]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 | edit source]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 | edit source]```
(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.