Карточка Junior Дженерики обновлено
Виды ограничений where
Вопрос
Какие бывают ограничения параметров-типов?
Попробуйте сами
Ответьте про себя или вслух, потом откройте ответ и сверьтесь.
Показать ответ и разбор
Коротко
- where T : class / class?: ссылочный тип. - where T : struct: тип значения, не Nullable. - where T : notnull: не допускающий null. - where T : unmanaged: тип без ссылок внутри (для указателей и Span). - where T : new(): конструктор без параметров. - where T : BaseClass / IInterface: наследник или реализация. - where…
Ответ
where T : class/class?: ссылочный тип.where T : struct: тип значения, не Nullable.where T : notnull: не допускающий null.where T : unmanaged: тип без ссылок внутри (для указателей и Span).where T : new(): конструктор без параметров.where T : BaseClass/IInterface: наследник или реализация.where T : U: один параметр-тип наследует другой.
Разбор
Ограничения можно комбинировать, new() пишется последним.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.