簡體   English   中英

VB.NET和C#中的DateTime

[英]DateTime in VB.NET and C#

我有兩個問題:

  1. DateDateTime :它們在VB中是不同的還是相同的?

  2. 可以在VB中為DateTime分配Nothing,因為它不能在C#中賦值為null。 作為一個結構,它不能為空。 那為什么在VB中被允許呢?

--- VB.NET -----

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#.NET -----

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

Nothing在VB.NET是不一樣的null在C#。 它還具有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);

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

在vb.net中, Date只是DateTime別名

VB中存在的一些別名用於遺留目的,以幫助從vb6應用程序進行轉換。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM