【问题标题】:Assign result of DateTime.TryParse or null [duplicate]分配 DateTime.TryParse 的结果或 null [重复]
【发布时间】:2019-11-30 11:01:00
【问题描述】:

我不知道为什么我不能执行这样的操作

我的逻辑:

如果将字符串解析为日期时间失败,则分配 null,否则分配值

using System;

public class Program
{   
    public class Test
    {
        public DateTime? Date { get; set; }
    }

    public static void Main()
    {
        var test = new Test
        {
            Date = DateTime.TryParse("string", out var dt) ? dt : null
        };
    }
}

无法确定条件表达式的类型,因为nullDateTime 之间没有隐式转换

但是我的类型是DateTime?,那怎么了?

【问题讨论】:

    标签: c#


    【解决方案1】:

    您必须将转换添加到DateTime?

    Date = (DateTime.TryParse("string", out var dt) ? dt : (DateTime?)null)
    

    【讨论】:

      猜你喜欢
      • 2014-12-26
      • 1970-01-01
      • 2011-08-27
      • 2019-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-12
      • 1970-01-01
      相关资源
      最近更新 更多