Прочитать на английском

Поделиться через


Nullable<T>.HasValue Свойство

Определение

Возвращает значение, указывающее, имеет ли текущий объект Nullable<T> допустимое значение своего базового типа.

public bool HasValue { get; }

Значение свойства

Boolean

true, если текущий объект Nullable<T> имеет значение; false, если текущий объект Nullable<T> не имеет значения.

Примеры

В следующем примере свойство объекта (Nullable(Of Integer)в Visual Basic) используется HasValue Nullable<int> для определения того, должно ли оно отображать свойство объекта Value или его GetValueOrDefault свойство.

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

Комментарии

HasValue Если свойство равноtrue, доступ к значению текущего Nullable<T> объекта можно получить с помощью Value свойства. В противном случае попытка получить доступ к его значению вызывает InvalidOperationException исключение.

Применяется к