Events
Mar 17, 9 PM - Mar 21, 10 AM
Join the meetup series to build scalable AI solutions based on real-world use cases with fellow developers and experts.
Register nowThis browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Comparison operators compare two expressions and return a Boolean
value that represents the relationship of their values. There are operators for comparing numeric values, operators for comparing strings, and operators for comparing objects. All three types of operators are discussed herein.
Visual Basic compares numeric values using six numeric comparison operators. Each operator takes as operands two expressions that evaluate to numeric values. The following table lists the operators and shows examples of each.
Operator | Condition tested | Examples |
---|---|---|
= (Equality) |
Is the value of the first expression equal to the value of the second? | 23 = 33 ' False 23 = 23 ' True 23 = 12 ' False |
<> (Inequality) |
Is the value of the first expression unequal to the value of the second? | 23 <> 33 ' True 23 <> 23 ' False 23 <> 12 ' True |
< (Less than) |
Is the value of the first expression less than the value of the second? | 23 < 33 ' True 23 < 23 ' False 23 < 12 ' False |
> (Greater than) |
Is the value of the first expression greater than the value of the second? | 23 > 33 ' False 23 > 23 ' False 23 > 12 ' True |
<= (Less than or equal to) |
Is the value of the first expression less than or equal to the value of the second? | 23 <= 33 ' True 23 <= 23 ' True 23 <= 12 ' False |
>= (Greater than or equal to) |
Is the value of the first expression greater than or equal to the value of the second? | 23 >= 33 ' False 23 >= 23 ' True 23 >= 12 ' True |
Visual Basic compares strings using the Like Operator as well as the numeric comparison operators. The Like
operator allows you to specify a pattern. The string is then compared against the pattern, and if it matches, the result is True
. Otherwise, the result is False
. The numeric operators allow you to compare String
values based on their sort order, as the following example shows.
"73" < "9"
' The result of the preceding comparison is True.
The result in the preceding example is True
because the first character in the first string sorts before the first character in the second string. If the first characters were equal, the comparison would continue to the next character in both strings, and so on. You can also test equality of strings using the equality operator, as the following example shows.
"734" = "734"
' The result of the preceding comparison is True.
If one string is a prefix of another, such as "aa" and "aaa", the longer string is considered to be greater than the shorter string. The following example illustrates this.
"aaa" > "aa"
' The result of the preceding comparison is True.
The sort order is based on either a binary comparison or a textual comparison depending on the setting of Option Compare
. For more information see Option Compare Statement.
Visual Basic compares two object reference variables with the Is Operator and the IsNot Operator. You can use either of these operators to determine if two reference variables refer to the same object instance. The following example illustrates this.
Dim x As testClass
Dim y As New testClass()
x = y
If x Is y Then
' Insert code to run if x and y point to the same instance.
End If
In the preceding example, x Is y
evaluates to True
, because both variables refer to the same instance. Contrast this result with the following example.
Dim x As New customer()
Dim y As New customer()
If x Is y Then
' Insert code to run if x and y point to the same instance.
End If
In the preceding example, x Is y
evaluates to False
, because although the variables refer to objects of the same type, they refer to different instances of that type.
When you want to test for two objects not pointing to the same instance, the IsNot
operator lets you avoid a grammatically clumsy combination of Not
and Is
. The following example illustrates this.
Dim a As New classA()
Dim b As New classB()
If a IsNot b Then
' Insert code to run if a and b point to different instances.
End If
In the preceding example, If a IsNot b
is equivalent to If Not a Is b
.
You can test whether an object is of a particular type with the TypeOf
...Is
expression. The syntax is as follows:
TypeOf <objectexpression> Is <typename>
When typename
specifies an interface type, then the TypeOf
...Is
expression returns True
if the object implements the interface type. When typename
is a class type, then the expression returns True
if the object is an instance of the specified class or of a class that derives from the specified class. The following example illustrates this.
Dim x As System.Windows.Forms.Button
x = New System.Windows.Forms.Button()
If TypeOf x Is System.Windows.Forms.Control Then
' Insert code to run if x is of type System.Windows.Forms.Control.
End If
In the preceding example, the TypeOf x Is Control
expression evaluates to True
because the type of x
is Button
, which inherits from Control
.
For more information, see TypeOf Operator.
.NET feedback
.NET is an open source project. Select a link to provide feedback:
Events
Mar 17, 9 PM - Mar 21, 10 AM
Join the meetup series to build scalable AI solutions based on real-world use cases with fellow developers and experts.
Register nowTraining
Module
Evaluate Boolean expressions to make decisions in C# - Training
Learn the operators and techniques required to evaluate and compare values in your decision statements.
Documentation
Logical and Bitwise Operators - Visual Basic
Learn more about: Logical and Bitwise Operators in Visual Basic
Learn more about: And Operator (Visual Basic)
Concatenation Operators in Visual Basic
Learn more about: Concatenation Operators in Visual Basic