Windows Dev Center

Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

Nullable<T>.HasValue Property

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

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.

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<T>.HasValue  
// and Value properties. 

using System;

class Sample 
{
    public static void Main() 
    {
    DateTime? myNow;

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

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

// Display the date and time. 
    public static void Display(DateTime? displayDateTime, string title)
    {
// If a value is defined for the displayDatetime argument, display its value; otherwise,  
// display that no value is defined.
    Console.Write(title);
    if (displayDateTime.HasValue == true)
        Console.WriteLine("The date and time is {0:F}.", displayDateTime.Value);
    else
        Console.WriteLine("The date and time is not defined.");
    }
}

/*
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.

*/

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360, Zune

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0

.NET Compact Framework

Supported in: 3.5, 2.0

XNA Framework

Supported in: 3.0, 2.0, 1.0

Community Additions

Show:
© 2015 Microsoft