Почему этот код C # не компилируется?

double? test = true ? null : 1.0;

В моей книге это так же, как

if (true) {
  test = null;
} else {
  test = 1.0;
}

Но первая строка дает эту ошибку компилятора:

Тип условного выражения не может быть определен, потому что не существует неявного преобразования между '<null>' а также 'double».

Ответы на вопрос(4)

Ваш ответ на вопрос