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