从Function返回null,返回DateTime

时间:2011-12-22 09:25:22

标签: c# asp.net

 public static DateTime ResolveDate()
 {
   return null;
 }

我需要从返回null类型的函数返回DateTime值。我的主要目标是不使用 MinValue 或返回{{1 } [返回默认日期]和前端将日期显示为空值(空白) - > new Datetime();

4 个答案:

答案 0 :(得分:24)

public static DateTime? ResolveDate() 
{ 
    if ( someconditon = true )
    {
        return DateTime.Now
    }
    else
    {
        return null; 
    } 
}

另一种方法是使用类似TryParse的工作

Public static bool TryResolve (out Resolvedate)
{
    if ( someconditon = true ) 
    { 
        Resolvedate = DateTime.Now 
        return true;
    } 
    else 
    {
        return false;  
    }  
}

答案 1 :(得分:5)

让它可以为空

   public static DateTime? ResolveDate()
        {
            return null;
        }

然后您可以根据需要返回null并相应地检查

请阅读此Nullable Types以获取更多信息。

答案 2 :(得分:2)

您可以像这样返回Nullable<DateTime>

public static DateTime? ResolveDate()
{
  if (notResolvable) 
  {
    return null;
  }
}

哪个可以这样使用:

var date = ResolveDate();
if (date.HasValue) 
{
  // Use date.Value here
}

或者像这样使用Try命名约定:

public static bool TryResolveDate(out DateTime date) 
{
  date = default(DateTime);
  if (notResolvable) 
  {
    return false;
  }
}

哪个可以这样使用:

DateTime date;
if (TryResolveDate(out date)) 
{
  // Use date here
}

答案 3 :(得分:0)

    bool somecondition = true;
    public DateTime? ResolveDate()
    {

        DateTime? date = null;
        if (somecondition == true)
        {
            date = DateTime.Now;
            return DateTime.Now;
        }
        else return date;
    }