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