Nullable<T>.HasValue Property

Gets a value indicating whether the current Nullable<T> object has a value.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public ReadOnly Property HasValue As Boolean
public bool HasValue { get; }

Property Value

Type: System.Boolean
true if the current Nullable<T> object has a value; false if the current Nullable<T> object has no value.

Remarks

If the HasValue property is true, the value of the current Nullable<T> object can be accessed with the Value property.

Examples

The following code example returns the value of a Nullable<T> object if that object has a defined value; otherwise, a default value is returned.

' This code example demonstrates the Nullable(Of T).HasValue 
' and Value properties.


Class Example
   Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
      Dim myNow As Nullable(Of DateTime)

      '  Assign the current date and time to myNow then display its value.
      myNow = DateTime.Now
      Display(outputBlock, myNow, "1) ")

      '  Assign null (Nothing in Visual Basic) to myNow then display its value.
      myNow = Nothing
      Display(outputBlock, myNow, "2) ")
   End Sub 'Main

   ' Display the date and time.
   Public Shared Sub Display(ByVal outputBlock As System.Windows.Controls.TextBlock, ByVal displayDateTime As Nullable(Of DateTime), _
                             ByVal title As String)

      ' If the HasValue property for the nullable of DateTime input argument is true, 
      ' display the value of the input argument; otherwise, display that no value is
      ' defined for the input value.
      outputBlock.Text &= title
      If displayDateTime.HasValue = True Then
         outputBlock.Text += String.Format("The date and time is {0:F}.", displayDateTime.Value) & vbCrLf
      Else
         outputBlock.Text &= "The date and time is not defined." & vbCrLf
      End If
   End Sub 'Display 

End Class 'Sample '

'This code example produces the following results:
'
'1) The date and time is Tuesday, April 19, 2005 4:16:06 PM.
'2) The date and time is not defined.
'
// This code example demonstrates the Nullable<T>.HasValue 
// and Value properties.

using System;

class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      DateTime? myNow;

      //  Assign the current date and time to myNow then display its value.
      myNow = DateTime.Now;
      Display(outputBlock, myNow, "1) ");

      //  Assign null (Nothing in Visual Basic) to myNow then display its value.
      myNow = null;
      Display(outputBlock, myNow, "2) ");
   }

   // Display the date and time.
   public static void Display(System.Windows.Controls.TextBlock outputBlock, DateTime? displayDateTime, string title)
   {
      // If a value is defined for the displayDatetime argument, display its value; otherwise, 
      // display that no value is defined.
      outputBlock.Text += title;
      if (displayDateTime.HasValue == true)
         outputBlock.Text += String.Format("The date and time is {0:F}.", displayDateTime.Value) + "\n";
      else
         outputBlock.Text += "The date and time is not defined." + "\n";
   }
}

/*
This code example produces the following results:

1) The date and time is Tuesday, April 19, 2005 4:16:06 PM.
2) The date and time is not defined.

*/

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.