Назначение null / Nullable для DateTime в троичной операции - PullRequest
20 голосов
/ 02 июня 2011

У меня есть заявление типа

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

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

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

Я не хочу использовать выражение if и хочу сделать это в одной строке.

Также, можно ли здесь использовать оператор ??.

Ответы [ 2 ]

57 голосов
/ 02 июня 2011
DateTime? dt = (string1 == string2) ? (DateTime?)null
                                    : DateTime.Parse(txtbox.Text);
0 голосов
/ 02 июня 2011

Вы можете сделать это так:

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