How do I use DateTime.TryParse with a Nullable?

前端 未结 9 636
逝去的感伤
逝去的感伤 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:27

    As Jason says, you can create a variable of the right type and pass that. You might want to encapsulate it in your own method:

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

    ... or if you like the conditional operator:

    public static DateTime? TryParse(string text)
    {
        DateTime date;
        return DateTime.TryParse(text, out date) ? date : (DateTime?) null;
    }
    

    Or in C# 7:

    public static DateTime? TryParse(string text) =>
        DateTime.TryParse(text, out var date) ? date : (DateTime?) null;
    

提交回复
热议问题