Nullable<T>.Value 屬性

定義

取得目前 Nullable<T> 物件的值,如果這個物件已有指派的有效基礎值。Gets the value of the current Nullable<T> object if it has been assigned a valid underlying value.

public:
 property T Value { T get(); };
public T Value { get; }
member this.Value : 'T
Public ReadOnly Property Value As T

屬性值

T

如果 HasValue 屬性為 true,則為目前 Nullable<T> 物件的值。The value of the current Nullable<T> object if the HasValue property is true. 如果 HasValue 屬性為 false,則會擲回例外狀況。An exception is thrown if the HasValue property is false.

例外狀況

HasValue 屬性為 falseThe HasValue property is false.

範例

下列範例會使用 Nullable<int> (在 Visual Basic 中Nullable(Of Integer))物件的 HasValue 屬性,來判斷它是否應該顯示物件的 Value 屬性或其 GetValueOrDefault 屬性。The following example uses the HasValue property of a Nullable<int> (Nullable(Of Integer) in Visual Basic) 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
Module Example
   Public Sub Main()
      Dim n1 As New Nullable(Of Integer)(10)
      Dim n2 As Nullable(Of Integer)
      Dim n3 As New Nullable(Of Integer)(20)
      n3 = Nothing
      Dim items() As Nullable(Of Integer) = { n1, n2, n3 }

      For Each item In items
         Console.WriteLine("Has a value: {0}", item.HasValue)
         If item.HasValue Then
            Console.WriteLine("Type: {0}", item.GetType().Name)
            Console.WriteLine("Value: {0}", item.Value)
         Else
            Console.WriteLine("Null: {0}", item Is Nothing)
            Console.WriteLine("Default Value: {0}", item.GetValueOrDefault())
         End If
         Console.WriteLine()
      Next                  
   End Sub
End Module
' 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

備註

如果 T 類型的值尚未指派給 Nullable<T> 物件,您可以將它與 null 並抓取其 HasValue 屬性,但無法存取其 Value 屬性或呼叫其其他成員。If a value of type T has not been assigned to the Nullable<T> object, you can compare it to null and retrieve its HasValue property, but you cannot access its Value property or call its other members.

適用於