Nullable<T>.Value Propiedad

Definición

Obtiene el valor del objeto Nullable<T> actual si se asignó un valor subyacente válido.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

Valor de propiedad

T

Valor del objeto Nullable<T> actual si la propiedad HasValue es true.The value of the current Nullable<T> object if the HasValue property is true. Si la propiedad HasValue es false, se produce una excepción.An exception is thrown if the HasValue property is false.

Excepciones

La propiedad HasValue es false.The HasValue property is false.

Ejemplos

En el ejemplo siguiente se usa la propiedad HasValue de un objeto Nullable<int> (Nullable(Of Integer) en Visual Basic) para determinar si debe mostrar la propiedad Value del objeto o su propiedad 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

Comentarios

Si no se ha asignado un valor de tipo T al objeto Nullable<T>, puede compararlo con null y recuperar su propiedad HasValue, pero no puede tener acceso a su propiedad Value ni llamar a sus demás miembros.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.

Se aplica a