Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗csSpGcDfT 51 of 509 menu
◀ ▶

Значение default(T) в C#

Выражение default(T) подставляет пустое значение параметра типа. Для int это 0, для bool - false, для строки и другого класса - null. У структуры пустыми становятся все поля. Ноль или null вместо default(T) не написать: при объявлении метода конкретный тип ещё неизвестен, и такое значение подошло бы не каждому T.

Если тип и так виден из возвращаемого значения, пишут короткое слово default. Ограничение where T : struct оставляет в T только структуры, поэтому параметр можно записать как T?. В вызов передают null. Значения нет, поэтому подставляется default. Для int это 0:

static T OrDefault<T>(T? value) where T : struct { return value ?? default; } Console.WriteLine(OrDefault<int>(null)); // выведет 0

Выведите значения по умолчанию для целого и логического параметров типа.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить