如何从DateTime中删除值?

leo*_*ora 3 c# datetime nullable value-type

我有一个现有的DateTime?其中包含日期时间的对象.我想从中删除日期时间值,所以当你问"HasValue"时它返回false?

Ani*_*Ani 7

Nullable<T>是不可变的,因此您必须将变量重新分配给不同的值才能更改/删除基础值.这是有道理的,因为它是一种价值型(虽然是特殊的); value-types 通常在框架中是不可变的.你会注意到,既Value没有HasValue属性也没有属性Nullable<T>.

DateTime? nullableDt = DateTime.Now; 
Console.WriteLine(nullableDt.HasValue); //true

nullableDt = null; 
Console.WriteLine(nullableDt.HasValue); //false
Run Code Online (Sandbox Code Playgroud)

要么

nullableDt = new DateTime?();
Run Code Online (Sandbox Code Playgroud)


Joh*_*ers 5

将其设置为null.