2010-09-03 33 views

Respuesta

40

DateTime es una value type, que, al igual que int y double, no tiene valor significativo null.

En VB.NET, puede escribir esto:

Dim d As DateTime = Nothing 

Pero todo esto hace es establecer d a la valor predeterminadoDateTime. En C# el código equivalente sería la siguiente:

DateTime d = default(DateTime); 

... lo que equivale a DateTime.MinValue.

Dicho esto, existe el tipo Nullable<T>, que se utiliza para proporcionar un valor null para cualquier tipo de valor T. La abreviatura de Nullable<DateTime> en C# es DateTime?.

+0

explicación clara y precisa ... – Sandeep

4
DateTime? myDate = null; 

El signo de interrogación le dará un tipo que admite nulo. El que se puede establecer en su valor nativo o anular.

DateTime es un tipo de valor. No puede ser nulo.

2

No, es una estructura que no es una clase. Haga que sea un tipo que admite nulos, p. Ej. System.DateTime? myValue; o use System.DateTime.MinValue como centinela.

+0

Tenga cuidado con su fraseología. Nullable también es una estructura y puede contener un nulo. –

4

No, no se puede para DateTime es un tipo de valor.

Es posible que desee mirar a Nullable<DateTime> aunque (o DateTime? En fin)

2

No - DateTime es una estructura en C# y las estructuras (tipos de valores) no pueden ser nulas.

Puede, sin embargo, utiliza Nullable<DateTime>.

2

Normalmente DateTime no puede ser nulo, ya que es un tipo de valor, pero utilizando el operador anulable introducido en C# 2, se puede lograr esto

Cuestiones relacionadas