For example Dim aInt as Integer should have the value as nothing instead of 0.
In C# you need to use int? instead of int. Integers are value types and they can't have a null value.
With int? you can check the HasValue property to tell you it is is something other than null.
int? i = null;
i.HasValue // false;
to get the value use:
i.Value;
The only way to do that is to use Nullable<T>
- i.e. (in C#):
int? aInt; // defaults to null
Regular integers have no concept of null
/Nothing
.
You'll have to use a nullable type. In vb.net - Nullable(Of Integer) (or Short, Byte)
Integer cannot be "nothing". You need to declare it as:
dim aInt as Nullable(of Integer)
As mentioned, use int? / Nullable(of Integer)
. Be careful not to overuse, though. I am working on a project where almost all valuetypes are declared as nullable / ?, and it is an absolute mess.
Other answers are right, you'll want to use a Nullable type. I wanted to precise the syntax for VB/C# and which version supports it:
VB9+ (Visual Studio 2008):
Dim aNullableInt As Integer?
VB8+ (Visual Studio 2005):
Dim aNullableInt As Nullable(Of Integer)
Whereas in C# 2.0 (Visual Studio 2005) you could already write it in both ways:
int? aNullableInt;
Nullable<int> aNullableInt;