Export (0) Print
Expand All

Nullable<T>.HasValue Property

Gets a value indicating whether the current Nullable<T> object has a valid value of its underlying type.

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

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.

If the HasValue property is true, the value of the current Nullable<T> object can be accessed with the Value property. Otherwise, attempting to access its value throws an InvalidOperationException exception.

The following example uses the HasValue property of a Nullable<Integer> object to determine whether it should display the object's Value property or its GetValueOrDefault property.

using System;

public class Example
{
   public static void Main()
   {
      Nullable<int> n1 = new Nullable<int>(10);
      Nullable<int> n2 = null;
      Nullable<int> n3 = new Nullable<int>(20);
      n3 = null;
      Nullable<int>[] items = { n1, n2, n3 }; 

      foreach (var item in items) {
         Console.WriteLine("Has a value: {0}", item.HasValue);
         if (item.HasValue) {
            Console.WriteLine("Type: {0}", item.GetType().Name);
            Console.WriteLine("Value: {0}", item.Value);
         }
         else {
            Console.WriteLine("Null: {0}", item == null);
            Console.WriteLine("Default Value: {0}", item.GetValueOrDefault());
         }
         Console.WriteLine();
      }                  
   }
}
// The example displays the following output: 
//       Has a value: True 
//       Type: Int32 
//       Value: 10 
//        
//       Has a value: False 
//       Null: True 
//       Default Value: 0 
//        
//       Has a value: False 
//       Null: True 
//       Default Value: 0

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0, 2.0, 1.0

Portable Class Library

Supported in: Portable Class Library

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8
Show:
© 2015 Microsoft