Nullable<T>.HasValue Proprietà
Definizione
Ottiene un valore che indica se l'oggetto Nullable<T> corrente presenta un valore valido per il proprio tipo sottostante.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
Valore della proprietà
true
se l'oggetto Nullable<T> corrente presenta un valore; false
se l'oggetto Nullable<T> corrente non presenta alcun valore.true
if the current Nullable<T> object has a value; false
if the current Nullable<T> object has no value.
Esempi
Nell'esempio seguente viene utilizzata HasValue la proprietà di Nullable<int>
unNullable(Of Integer)
oggetto (in Visual Basic) per Value determinare se GetValueOrDefault deve essere visualizzata la proprietà o la proprietà dell'oggetto.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
Commenti
Se la HasValue proprietà è true
, è possibile accedere al valore Nullable<T> dell'oggetto corrente con la Value proprietà.If the HasValue property is true
, the value of the current Nullable<T> object can be accessed with the Value property. In caso contrario, il tentativo di accedere al relativo InvalidOperationException valore genera un'eccezione.Otherwise, attempting to access its value throws an InvalidOperationException exception.