Выбор ответа Junior Дженерики обновлено

default(T)

Вопрос

Что вернёт default(T) в обобщённом методе?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: null для ссылок, ноль для значений. default(T) это значение «по умолчанию» для любого типа: null для ссылок, 0, false, структура с обнулёнными полями для типов значений.

Варианты ответа

  1. Всегда null, даже для int и bool
  2. Результат вызова конструктора new T()
  3. null для ссылок, ноль для значенийправильный ответ
  4. Ошибку компиляции без ограничения class

Разбор

default(T) это значение «по умолчанию» для любого типа: null для ссылок, 0, false, структура с обнулёнными полями для типов значений. Конструктор не вызывается. Ограничений не требует, в C# 7.1+ можно писать просто default.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.