default для T
Запись default(T) и короткая форма
default в обобщённом коде дают ноль,
false или null - в зависимости
от типа. Для int это 0, для
ссылочных типов - null. Так инициализируют
поля и локальные переменные, когда нужен
«пустой» экземпляр типа.
Синтаксис
T value = default;
T value = default(T);
Пример
Давайте получим default для int:
using System;
class Program
{
static void Main()
{
int res = default;
Console.WriteLine(res);
}
}
Результат выполнения кода:
0
Пример
Давайте выведем default для строки через проверку на null:
using System;
class Program
{
static void Main()
{
string res = default;
Console.WriteLine(res == null ? "null" : res);
}
}
Результат выполнения кода:
"null"
Пример
Давайте вернём default(T) из обобщённого метода:
using System;
class Program
{
static T GetEmpty<T>()
{
return default(T);
}
static void Main()
{
int num = GetEmpty<int>();
string text = GetEmpty<string>();
Console.WriteLine(num + " " + (text == null ? "null" : text));
}
}
Результат выполнения кода:
0 null
Смотрите также
-
параметр типа,
который объявляетTв типе -
default literal,
который задаёт значение по умолчанию для типа -
Nullable,
который допускаетnullдля значимых типов -
обобщённый метод,
в котором часто используютdefault