VB.NET Nullable Value Types


SQL has long had the ability to specify that a value is NULL even if it is a primitive type, but the only way you could have a NULL value in VB.NET is if you were dealing with an object.

That is, until .NET 2.0

Even though .NET 2.0 has been out for a while, I would bet that few VB.NET programmers know about this new feature because it is one of those things most of us have grown to assume is not possible.

Values must have content–objects don’t.  That’s just the way it is.

If we were to create an integer for example and then tried to assign a nothing to it, we would most certainly get a compiler error.

        Dim i As Integer
        i = Nothing

However, the Nullable generic was added so that we can create a Nullable Integer

        Dim i As Nullable(Of Integer)
        i = Nothing

And by simply putting a question mark at the end of our variable name, we can shorten the syntax to

        Dim i? As Integer
        i = Nothing

Related Post

Leave a Reply

Comment Policy:

  • You must verify your comment by responding to the automated email that is sent to your email address. Unverified comments will never show.Leave a good comment that adds to the conversation and I'll leave your link in.
  • Leave me pure spam and I'll delete it.
  • Leave a general comment and I'll remove the link but keep the comment.

Notify me of followup comments via e-mail