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

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


Nullable<T> Структура

Определение

Представляет тип значения, которому можно присвоить значение null.

C#
public struct Nullable<T> where T : struct
C#
[System.Serializable]
public struct Nullable<T> where T : struct

Параметры типа

T

Базовый тип значения универсального типа Nullable<T>.

Наследование
Nullable<T>
Атрибуты

Примеры

В следующем примере кода определяются три строки таблицы в образце базы данных Microsoft Pubs. Таблица содержит два столбца, не допускающие значения NULL, и два столбца, допускающие значение NULL.

C#
using System;

class Sample
{
    // Define the "titleAuthor" table of the Microsoft "pubs" database.
    public struct titleAuthor
    {
      // Author ID; format ###-##-####
      public string au_id;
      // Title ID; format AA####
      public string title_id;
      // Author ORD is nullable.
      public short? au_ord;
      // Royalty Percent is nullable.
      public int? royaltyper;
    }

    public static void Main()
    {
      // Declare and initialize the titleAuthor array.
      titleAuthor[] ta = new titleAuthor[3];
      ta[0].au_id = "712-32-1176";
      ta[0].title_id = "PS3333";
      ta[0].au_ord = 1;
      ta[0].royaltyper = 100;

      ta[1].au_id = "213-46-8915";
      ta[1].title_id = "BU1032";
      ta[1].au_ord = null;
      ta[1].royaltyper = null;

      ta[2].au_id = "672-71-3249";
      ta[2].title_id = "TC7777";
      ta[2].au_ord = null;
      ta[2].royaltyper = 40;

      // Display the values of the titleAuthor array elements, and
      // display a legend.
      Display("Title Authors Table", ta);
      Console.WriteLine("Legend:");
      Console.WriteLine("An Author ORD of -1 means no value is defined.");
      Console.WriteLine("A Royalty % of 0 means no value is defined.");
    }

    // Display the values of the titleAuthor array elements.
    public static void Display(string dspTitle,
                               titleAuthor[] dspAllTitleAuthors)
    {
      Console.WriteLine("*** {0} ***", dspTitle);
      foreach (titleAuthor dspTA in dspAllTitleAuthors) {
         Console.WriteLine("Author ID ... {0}", dspTA.au_id);
         Console.WriteLine("Title ID .... {0}", dspTA.title_id);
         Console.WriteLine("Author ORD .. {0}", dspTA.au_ord ?? -1);
         Console.WriteLine("Royalty % ... {0}", dspTA.royaltyper ?? 0);
         Console.WriteLine();
      }
    }
}
// The example displays the following output:
//     *** Title Authors Table ***
//     Author ID ... 712-32-1176
//     Title ID .... PS3333
//     Author ORD .. 1
//     Royalty % ... 100
//
//     Author ID ... 213-46-8915
//     Title ID .... BU1032
//     Author ORD .. -1
//     Royalty % ... 0
//
//     Author ID ... 672-71-3249
//     Title ID .... TC7777
//     Author ORD .. -1
//     Royalty % ... 40
//
//     Legend:
//     An Author ORD of -1 means no value is defined.
//     A Royalty % of 0 means no value is defined.

Комментарии

Дополнительные сведения об этом API см. в разделе Дополнительные примечания API для T>, допускающих<значение NULL.

Конструкторы

Nullable<T>(T)

Инициализирует новый экземпляр структуры Nullable<T> заданным значением.

Свойства

HasValue

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

Value

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

Методы

Equals(Object)

Указывает, равен ли текущий объект Nullable<T> указанному объекту.

GetHashCode()

Извлекает хэш-код объекта, возвращенного свойством Value.

GetValueOrDefault()

Извлекает значение текущего объекта Nullable<T> или значение базового типа этого объекта по умолчанию.

GetValueOrDefault(T)

Извлекает значение текущего объекта Nullable<T> или заданное значение по умолчанию.

ToString()

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

Операторы

Explicit(Nullable<T> to T)

Определяет явное преобразование экземпляра Nullable<T> в его базовое значение.

Implicit(T to Nullable<T>)

Создает новый объект Nullable<T>, инициализированный заданным значением.

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

Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

См. также раздел