IsNot
We use these VB.NET operators to check reference types. With these, we can check reference types against special value such as Nothing.
We compare references to Nothing. The "Is" and "IsNot
" operators are most often used with the Nothing constant. We can (for example) detect a null
string
.
We see how "IsNot
Nothing" and "Is Nothing" are evaluated with a local variable. This pattern of code is useful. It helps if you are not sure the variable is set to something.
Module Module1 Sub Main() Dim value As String = "cat" ' Check if it is NOT Nothing. If value IsNot Nothing Then Console.WriteLine(1) End If ' Change to Nothing. value = Nothing ' Check if it IS Nothing. If value Is Nothing Then Console.WriteLine(2) End If ' This is not reached. If value IsNot Nothing Then Console.WriteLine(3) End If End Sub End Module1 2
TypeOf
We can use the VB.NET Is-operator with TypeOf
. This compares the type of a variable to an existing type. This does not perform casting, but does check the types for equivalence.
Module Module1 Sub Main() Dim value As String = "abc" ' Use Is-operator with TypeOf. If TypeOf value Is String Console.WriteLine("Is String") End If End Sub End ModuleIs String
IsNothing
We can use the IsNothing
Function instead of using the Is-operator alongside Nothing. This performs the same test, and is slightly shorter.
IsNothing()
as well, which is another way of saying Is Not Nothing.Module Module1 Sub Main() Dim value As String = Nothing ' Use IsNothing function instead of 2 separate keywords. If IsNothing(value) Then Console.WriteLine("IsNothing") End If End Sub End ModuleIsNothing
Reference types are common in VB.NET programs—we create them based on classes. Things like Strings and StringBuilders
are reference types.