DateTime in VB.NET and C#



我有两个问题:

  1. DateDateTime在VB中是相同还是不同

  2. DateTime可以在VB中赋值为Nothing,而在c#中不能赋值为null。作为一个结构,它不能为空。那么为什么在VB中允许呢?

VB。净——

Module Module1
    Sub Main()
        Dim d As Date = Nothing
        Dim dt As DateTime = Nothing
        d = CType(MyDate, DateTime)

    End Sub
    Public ReadOnly Property MyDate As DateTime
        Get
            Return Nothing
        End Get
    End Property
End Module

, c#。净——

class Program
    {
        static void Main(string[] args)
        {
            DateTime dt = null;//compile time error            
        }
    }

Nothing在VB中。NET与c#中的null不一样。它也有c#中default的功能,当你在System.DateTime这样的结构体上使用它时,就会发生这种情况。

所以DateDateTime都指向同一个结构体System.DateTime

Dim dt As Date = Nothing 

实际上和

是一样的
Dim dt = Date.MinValue

或(c#中)

DateTime dt = default(DateTime);

在c#中可以使用default关键字

DateTime dt = default(DateTime);

DateDateTime在VB.NET中是相同的。Date只是DateTime的别名

在vb.net中Date只是DateTime的别名。

VB中存在的一些别名是为了帮助从vb6应用程序转换而存在的。

相关内容

  • 没有找到相关文章

最新更新