[英]How to check if DateTime is null
我有两个DateTime
如下:
DateTime startDate = CalendarFrom.SelectedDate;
DateTime endDate = CalendarTo.SelectedDate;
现在,我想检查是否选择了startDate
和endDate
。 据我所知,我们不能将null赋给DateTime
所以我这样写:
if (startDate == DateTime.MinValue && endDate == DateTime.MinValue)
{
// actions here
}
但是我意识到对于endDate
,它不是“1/1/0001 12:00:00 AM”,因此无法使用DateTime.MinValue
进行检查。
我想知道如何检查endDate
。 谢谢!
DateTime
本身不能为null - 使用DateTime?
最干净DateTime?
又名为Nullable<DateTime>
来表示可空值。
目前还不清楚CalendarFrom
和CalendarTo
是什么,但它们可能不支持Nullable<DateTime>
- 但最好将转换集中在这里,这样你可以在任何地方使用Nullable<DateTime>
而不是你直接使用CalendarFrom
和CalendarTo
。
DateTime
是一个结构,所以它永远不能为null。
我可以想到两个选择:
如果你真的想支持null,请使用DateTime?
创建一个可以为空的DateTime。
或者,您的应用程序可能只需将DateTime
值设置为默认值,该值表示未设置实际值。 对于此默认值,您可以使用default(DateTime)
或类似DateTime.MinValue
。
我不确定你的CalenderFrom和CalenderTo是什么; 但我假设他们是静态的classess。 基于这个假设,我就是这样编写代码的。
public static class CalendarFrom
{
public static DateTime SelectedFrom { get; set; }
}
public static class CalendarTo
{
public static DateTime SelectedDate { get; set; }
}
DateTime? startDate = CalendarFrom.SelectedFrom;
DateTime? endDate = CalendarTo.SelectedDate;
if (startDate.HasValue
&& ( startDate.Value != DateTime.MaxValue || startDate.Value != DateTime.MinValue))
{
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.