在三元运算中将 null/Nullable 分配给 DateTime
Posted
技术标签:
【中文标题】在三元运算中将 null/Nullable 分配给 DateTime【英文标题】:Assigning null/Nullable to DateTime in Ternary Operation 【发布时间】:2011-09-07 02:18:43 【问题描述】:我有这样的声明
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);
【讨论】:
您不能直接将string
转换为DateTime
。您需要改用Parse
方法。 msdn.microsoft.com/en-us/library/1k1skd40.aspx以上是关于在三元运算中将 null/Nullable 分配给 DateTime的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法使用三元运算符 - 或类似的方法 - 来选择要分配的变量?