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

标签 c# asp.net c#-3.0

我该怎么写

string date = "12/2/2011";

DateTime? dt = date ?? DateTime.Parse(date);

这会引发编译时错误。我知道我可以执行 tryparse 或执行 if {}。有没有办法在一行中做到这一点?

最佳答案

尝试使用 conditional operator ?: 而不是 null-coalescing operator ??:

DateTime? dt = date == null ? (DateTime?)null : DateTime.Parse(date);

您还需要将 null 转换为 DateTime? 否则会出现编译错误。

关于c# - 在一行中将字符串转换为 DateTime 可为空的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8347626/

相关文章:

c# - AssemblyLoadContext 是否隔离静态变量?

c# - 何时在 C# 中使用 'continue' 关键字

c# - Entity Framework 异常 : Invalid object name

c# - 在 JSON.Net 4.0 中使用 JObject 和 JProperty

c# - Visual Studio 2015 - 添加对类库 C# ASP.NET 的引用

c# - 当第一行是字符串时,GetValue() 不读取十进制值

c# - 退出时设置当前工作目录 (.NET Core)

javascript - IE 10 中的 Telerik DatePicker 不工作

c# - 尝试将 Dictionary<string, object> 分配给字符串变量时出现错误

c# - 访问 N(未知)维矩阵中所有点的算法