分配 DateTime.TryParse 的结果或 null

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


我这背后的逻辑:


如果将字符串解析为日期时间失败则分配 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

        };

    }

}

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


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


慕桂英546537
浏览 81回答 1
1回答

跃然一笑

你必须添加铸造DateTime?Date = (DateTime.TryParse("string", out var dt) ? dt : (DateTime?)null)
打开App,查看更多内容
随时随地看视频慕课网APP