我是c#的新手。我正在比较两个日期,其中一个是用户输入的,另一个是系统日期时间。我有代码工作,因为它出现的障碍是如何满足空值。我的基本代码是:
if (mydate.ToShortDateString() != TodaysDate.ToShortDateString())
{
//Error Messaage
}
else
{
//do some code
}
任何反馈都将不胜感激
答案 0 :(得分:2)
为什么要将它们转换为字符串?为什么不在date1.Date != date2.Date
中比较它们的日期部分。
答案 1 :(得分:0)
您可以将mydate声明为DateTime?
,然后它可以保存空值。
至于如何处理错误,取决于是否将mydate的空值视为错误。如果这是一个错误,你可以这样做:
if (mydate == null || mydate.ToShortDateString() != TodaysDate.ToShortDateString()) {
// error
}
如果不是错误情况,你可以这样做:
if (mydate != null && mydate.ToShortDateString() != TodaysDate.ToShortDateString()) {
// error
}
如果您未将mydate声明为DateTime?
,而只是将其声明为DateTime
,那么您可以检查DateTime.MinValue
,就像这样(DateTime.MinValue
是默认值DateTime
变量的值:
if (mydate == DateTime.MinValue || mydate.ToShortDateString() != TodaysDate.ToShortDateString()) {
// error
}
答案 2 :(得分:0)
使用??操作者:
if ((mydate??DateTime.MinValue).ToShortDateString() != TodaysDate.ToShortDateString())
{
//Error Messaage
}
else
{
//do some code
}