我们直接声明DateTime的话,是不允许直接赋值为空的,如下。
如果不赋值的话,会默认给一个日期,即"0001-01-01 00:00:00",如下
class Test
{
public DateTime Dt { set; get; }
}
class Program
{
static void Main(string[] args)
{
Test test = new Test();
if (test.Dt == null)
{
Console.WriteLine("该日期为null");
}
else
{
Console.WriteLine("该日期不为null");
}
Console.WriteLine("内容:" + test.Dt);
Console.ReadLine();
}
}
控制台输出结果为
如果我们想让这个DateTime的变量赋值为空的话,可以在声明里边加个问号,如下
class Program
{
static void Main(string[] args)
{
DateTime? dt = null;
if (dt == null)
{
Console.WriteLine("该日期为null");
}
else
{
Console.WriteLine("该日期不为null");
}
Console.WriteLine("内容:" + dt);
Console.ReadLine();
}
}
或者
class Test
{
public DateTime? Dt { set; get; }
}
class Program
{
static void Main(string[] args)
{
Test test = new Test();
if (test.Dt == null)
{
Console.WriteLine("该日期为null");
}
else
{
Console.WriteLine("该日期不为null");
}
Console.WriteLine("内容:" + test.Dt);
Console.ReadLine();
}
}
运行结果为