Структура Nullable
Структура Nullable<T> (запись T?)
оборачивает значимый тип T. Свойство
HasValue показывает,
есть ли значение; Value
возвращает его при наличии. Запись int?
- синтаксический сахар для Nullable<int>.
Синтаксис
Nullable<тип> имя;
Пример
Давайте создадим Nullable<int> с числом:
using System;
class Program
{
static void Main()
{
Nullable<int> num = 5;
Console.WriteLine(num.HasValue);
}
}
Результат выполнения кода:
True
Пример
Давайте оставим Nullable<int> пустым:
using System;
class Program
{
static void Main()
{
Nullable<int> num = null;
Console.WriteLine(num.HasValue);
}
}
Результат выполнения кода:
False
Пример
Давайте прочитаем Value при наличии данных:
using System;
class Program
{
static void Main()
{
Nullable<int> num = 5;
Console.WriteLine(num.Value);
}
}
Результат выполнения кода:
5
Пример
Давайте возьмём значение через GetValueOrDefault:
using System;
class Program
{
static void Main()
{
Nullable<int> num = null;
Console.WriteLine(num.GetValueOrDefault());
}
}
Результат выполнения кода:
0
Смотрите также
-
запись
int?,
которая сокращает Nullable<int> -
свойство
HasValue,
которое показывает наличие значения -
свойство
Value,
которое достаёт значение -
метод
GetValueOrDefault,
который возвращает запасное число