我在学习C#,有一个疑问。
在我正在开发的应用程序中,我发现了以下代码:
if (!String.IsNullOrEmpty(u.nome))
这段代码仅检查 u 对象的 nome 字段是否为空或 null 字符串。
我很清楚这一点,但如果要检查一个字段不是字符串而是 DateTime 对象怎么办?
我在学习C#,有一个疑问。
在我正在开发的应用程序中,我发现了以下代码:
if (!String.IsNullOrEmpty(u.nome))
这段代码仅检查 u 对象的 nome 字段是否为空或 null 字符串。
我很清楚这一点,但如果要检查一个字段不是字符串而是 DateTime 对象怎么办?
如果您声明一个 DateTime,那么默认值就是 DateTime.MinValue,因此您需要像这样检查它:
DateTime dat = new DateTime();
if (dat==DateTime.MinValue)
{
//unassigned
}
如果 DateTime 是可空的,那就是另一回事了: DateTime? dat = null;
if (!dat.HasValue)
{
//unassigned
}
if(dat == default) { }
。 - pallaresDateTime
不是标准的可为空类型。如果你想对DateTime
类型的变量赋空值,你必须使用支持空值的DateTime?
类型。
如果你只想测试变量是否已被设置(例如变量保存了除默认值之外的值),你可以像以下代码一样使用关键字"default":
if (dateTimeVariable == default(DateTime))
{
//do work for dateTimeVariable == null situation
}