4

如果我执行以下语句:

dim defaultDate as Date = Nothing

defaultDate包含Date结构的默认值

我怀疑有一种干净的方法来检索这个值,比如某种 buitin 常量,但我找不到它。

问:在 VB.net 中检索给定结构的默认值的干净方法是什么?

4

3 回答 3

6

正如您已经发现Nothing的那样,在 VB.NET 中为值类型执行此操作是正确的方法。

C# 有一种更“明确”的方式来处理default(T).

于 2012-05-23T14:42:30.647 回答
2

值类型不需要显式初始化。

默认情况下,所有字段都初始化为默认值。

dim defaultDate as Date ' Nothing not required
Console.WriteLine(defaultDate) ' 1/1/0001 12:00:00 AM 

此处此处的默认构造函数说明

于 2012-05-23T14:47:49.630 回答
1

默认Date值为Date.MinValue.

0001 年 1 月 1 日 0:00:00(午夜)。

日期数据类型 (Visual Basic)

Dim d As Date = Nothing
If d = Date.MinValue Then
    ' yes, we are really here '
End If

我通常更喜欢Date.MinValue而不是Nothing,但我认为这是一个品味问题。

于 2012-05-23T14:43:25.797 回答