34,333
edits
Changes
→Understanding Expressions
MessageBox.Show("Result is less than 10")
</pre>
In the above expression, the ''intResult < 20'' expression will retunr either ''True'' or ''False'' depending on whether the value held by the ''intResult'' variable is less than 20 or not.
Expressions can be made up of multiple operands and expressions:
<pre>
Dim intResult As Integer
intResult = 4 + 5 - 10 * 6
</pre>
This particular example raises the issue of ''operator precedence which we will cover next.
== Visual Basic Operator Precedence ==
In an earlier example we looked an expression which contained a variety of different operators. Anotehr example is as follows:
<pre>
Dim intResult As Integer
intResult = 4 + 5 * 20 / 6
</pre>
The issue we have to address now is in what order these calculations will be performed. If Visual Basic were to evaluate the expression from left to right the result would be -3.33333. If the expression is evaluated from right to left the result would be 5.5. So, which way does Visual Basic evaluation expressions? The answer is neither of these options. Instead, Visual Basic evaluates expressions according to operator precendece. This is essentially a predefined order in which expressions are calculated which matches the standard algebraic order. The order used by Visual Basic is as follows:
<table>
<TH>Artithmetic<th>Logical</th>
<tr>
<td>Exponentiation (^)<td>Not</td>
<tr>
<td>Polarity (+,-)<td></td>
<tr>
<td>Negation (-)?<td>And</td>
<tr>
<td>Mutliplication and Division (*/)<td>Or</td>
<tr>
<td>Integer division (\)
<tr>
<td>Modulus (mod)<td></td>
<tr>
<td>Addition and Subtraction (+,-)<td></td>
<tr>
<td>String Concatenation (&)<td></td>
</table>