Nullable<T>.Value Propiedad

Definición

Obtiene el valor del objeto Nullable<T> actual si se asignó un valor subyacente válido.

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. Si la propiedad HasValue es false, se produce una excepción.

Excepciones

La propiedad HasValue es false.

Ejemplos

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

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
open System

let n1 = Nullable 10
let n2 = Nullable()
let mutable n3 = Nullable 20
n3 <- Nullable()
let items = [| n1; n2; n3 |]

for item in items do
    printfn $"Has a value: {item.HasValue}"
    if item.HasValue then
        printfn $"Type: {item.GetType().Name}"
        printfn $"Value: {item.Value}"
    else
        printfn $"Null: {item = Nullable()}"
        printfn $"Default Value: {item.GetValueOrDefault()}"
    printfn ""
// 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 Nullable<T> objeto, puede compararlo con null y recuperar su HasValue propiedad, pero no puede tener acceso a su Value propiedad ni llamar a sus otros miembros.

Se aplica a