Несоответствие поведения троичного оператора [дубликат]

На этот вопрос уже есть ответ здесь:

Невозможно неявно преобразовать тип 'int' в 'short' [duplicate] 9 ответов

Следующее выражение в порядке

short d = ("obj" == "obj" ) ? 1 : 2;

Но когда вы используете его, как показано ниже, возникает синтаксическая ошибка

short d = (DateTime.Now == DateTime.Now) ? 1 : 2;

Невозможно неявно преобразовать тип 'int' в 'short'. Существует явное преобразование (вам не хватает приведения?)

Кто-нибудь может объяснить, почему это так?

Есть ли разница между сравнением строка-строка и дата-время-дата-время в троичном операторе, почему?

Я был бы признателен, если бы вы могли мне помочь.

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

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