-6

如何检查 Start 是否为空白或为空:

Employee.CurrentLongTermIncentive.StartDate

我已经尝试过以下事情:

Employee.CurrentLongTermIncentive.StartDate!=null // Start is empty it's falied.

Employee.CurrentLongTermIncentive.StartDate.HasValue // Start is empty it's falied.

如何检查开始日期的空值或空白值并分配给字符串值。Startdate 具有日期时间格式。

4

3 回答 3

4

类型的对象DateTime不能设置为 null。这就是您的代码可能失败的原因。

您可以尝试使用DateTime.MinValue来识别尚未分配值的实例。

Employee.CurrentLongTermIncentive.StartDate != DateTime.MinValue;

DateTime但是,您可以使用以下声明将其配置为可为空。

DateTime? mydate = null;

if (mydate == null) Console.WriteLine("Is Null");
if (mydate.HasValue) Console.WriteLine("Not Null");

注意:?- 这允许将不可为空的值分配为空。

您似乎正在使用DateTime?开始时间,所以请尝试以下操作

if (!Employee.CurrentLongTermIncentive.StartDate.HasValue) {
  Employee.CurrentLongTermIncentive.StartDate = (DateTime?) DateTime.Parse(myDateString);
}

wheremyDateString是一个字符串,表示您要分配的日期。

于 2013-10-08T15:16:18.683 回答
0

如果您尝试在文本框中显示它,只需执行以下操作,只需确保 Employee 和 CurrentLongTermIncentive 都不为空:

txtStartDate.Text = GetStartDate(Employee.CurrentLongTermIncentive.StartDate);
private string GetStartDate(DateTime? startDate)
{
        if (startDate != null)
        {
            return startDate.Value.ToShortDateString();
        }
        return "";
}
于 2013-10-08T15:47:55.463 回答
0

我想你可能想要if Employee.CurrentLongTermIncentive.StartDate != DateTime.MinValue

于 2013-10-08T15:14:48.757 回答