How do I use DateTime.TryParse with a Nullable?

前端 未结 9 662
逝去的感伤
逝去的感伤 2020-12-02 15:06

I want to use the DateTime.TryParse method to get the datetime value of a string into a Nullable. But when I try this:

DateTime? d;
bool success = DateTime.         


        
9条回答
  •  暖寄归人
    2020-12-02 15:30

    This is the one liner you're looking fo:

    DateTime? d = DateTime.TryParse("some date text", out DateTime dt) ? dt : null;
    

    If you want to make it a proper TryParse pseudo-extension method, you can do this:

    public static bool TryParse(string text, out DateTime? dt)
    {
        if (DateTime.TryParse(text, out DateTime date))
        {
            dt = date;
            return true;
        }
        else
        {
            dt = null;
            return false;
        }
    }
    

提交回复
热议问题