Присвоение значения null/Nullable DateTime в тройной операции

У меня есть оператор вроде

DateTime ? dt = (string1 == string2) ? null; (DateTime)(txtbox.Text);

который я не могу скомпилировать. Причина такова: null нельзя назначить DateTime.

Итак, я должен объявить переменную Nullable<DateTime> nullable и заменить null на nullable.

Я не хочу использовать if -statement, и я хочу сделать это в одной строке.

Кроме того, могу ли я использовать оператор ?? здесь.

Ответы

Ответ 1

DateTime? dt = (string1 == string2) ? (DateTime?)null
                                    : DateTime.Parse(txtbox.Text);

Ответ 2

вы можете сделать это следующим образом:

DateTime ? dt = (string1 == string2) ? new Nullable <DateTime>(): (DateTime)(txtbox.Text);