Nullable типы и универсальная проверка на Null
Допустим, я хочу сделать универсальный метод IsNullOrEmpty, который на вход может принять тип T.
Возникла проблема с проверкой Nullable типа на то имеет ли он значение или нет.
Т.е вот я узнал, что передомною Nullable, но
if (T is Nullable<T> nullable)
не работает и ругается, что так делать нельзя...
Как я могу сделать задуманное и удостовериться, что HasValue возвращает true или false?
Ответы (1 шт):
Автор решения: PashaPash
→ Ссылка
Самый простой рабочий вариант - обычная проверка на null:
static bool IsNull<T>(T val)
{
return val == null;
}
Console.WriteLine(IsNull((int?)null)); // True
Console.WriteLine(IsNull(5)); // False