如果我执行以下声明:
dim defaultDate as Date = Nothing
defaultDate
包含Date
结构的默认值
我怀疑有一种干净的方式来检索这个值,就像某种buitin常数,但我无法找到它。
问:在VB.net中检索给定结构的默认值的干净方法是什么?
答案 0 :(得分:6)
正如您已经发现的那样,Nothing
是在VB.NET中为值类型执行此操作的正确方法。
C#使用default(T)
进行更“明确”的方式。
答案 1 :(得分:2)
值类型不需要显式初始化。
默认情况下,所有字段都初始化为默认值。
dim defaultDate as Date ' Nothing not required
Console.WriteLine(defaultDate) ' 1/1/0001 12:00:00 AM
的说明
答案 2 :(得分:1)
默认Date
为Date.MinValue
。
0001年1月1日0:00:00(午夜)。
Dim d As Date = Nothing
If d = Date.MinValue Then
' yes, we are really here '
End If
我通常更喜欢Date.MinValue
而不是Nothing
,但我认为这是一个品味问题。