将字符串转换为一行中的DateTime可空变量

cod*_*net 8 c# asp.net c#-3.0

我该怎么写

string date = "12/2/2011";

DateTime? dt = date ?? DateTime.Parse(date);
Run Code Online (Sandbox Code Playgroud)

这会引发编译时错误.我知道我能做到tryparse or do if {}.有没有办法在一行中做到这一点?

Mar*_*ers 25

尝试使用条件运算符 ?:而不是null-coalescing运算符 ??:

DateTime? dt = date == null ? (DateTime?)null : DateTime.Parse(date);
Run Code Online (Sandbox Code Playgroud)

您还需要转换null,DateTime?否则您将收到编译错误.