Nullable<T>.HasValue Nullable<T>.HasValue Nullable<T>.HasValue Nullable<T>.HasValue Property

정의

현재 Nullable<T> 개체에 해당 내부 형식의 올바른 값이 있는지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether the current Nullable<T> object has a valid value of its underlying type.

public:
 property bool HasValue { bool get(); };
public bool HasValue { get; }
member this.HasValue : bool
Public ReadOnly Property HasValue As Boolean

속성 값

현재 Nullable<T> 개체에 값이 있으면 true이고, 현재 Nullable<T> 개체에 값이 없으면 false입니다.true if the current Nullable<T> object has a value; false if the current Nullable<T> object has no value.

예제

다음 예제에서는 합니다 HasValue 의 속성을 Nullable<int> (Nullable(Of Integer) Visual Basic의) 개체를 표시할 것인지 여부를 결정 하는 개체 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

설명

경우는 HasValue 속성은 true, 현재 값 Nullable<T> 사용 하 여 개체에 액세스할 수는 Value 속성입니다.If the HasValue property is true, the value of the current Nullable<T> object can be accessed with the Value property. 그렇지 않으면 해당 값 throw에 액세스 하려고는 InvalidOperationException 예외입니다.Otherwise, attempting to access its value throws an InvalidOperationException exception.

적용 대상