ti-enxame.com

Um DateTime pode ser nulo?

Possível duplicata:
valor “nulo” de DateTime

é possível definir o objeto datetime para nulo?

22
r.r

DateTime é um tipo de valor , que, assim como int e double, não tem valor null significativo.

Em VB.NET, você pode escrever isto:

Dim d As DateTime = Nothing

Mas tudo o que isso faz é definir d para o valor padrão DateTime. Em C #, o código equivalente seria este:

DateTime d = default(DateTime);

... que é equivalente a DateTime.MinValue.

Dito isso, existe o Nullable<T> type, que é usado para fornecer um valor null para qualquer tipo de valor T. A abreviação de Nullable<DateTime> em C # é DateTime?.

45
Dan Tao
DateTime? myDate = null;

O ponto de interrogação fornecerá um tipo anulável. Aquele que pode ser definido como seu valor nativo ou como nulo.

O próprio DateTime é um tipo de valor. Não pode ser nulo.

4
user151323

Não, você não pode, pois DateTime é um tipo de valor.

Você pode querer dar uma olhada em Nullable<DateTime> embora (ou DateTime? em resumo)

4
Arcturus

Não - DateTime é uma estrutura em C # e estruturas (tipos de valor) não podem ser nulas.

Você pode, no entanto, usar Nullable<DateTime>.

3
Ian P

Não, é uma estrutura, não uma classe. Torne-o um tipo anulável, por exemplo, System.DateTime? myValue; ou use o System.DateTime.MinValue como um sentinela.

2
open-collar

Normalmente DateTime não pode ser nulo, pois é um tipo de valor, mas usando o operador anulável introduzido em C # 2, você pode fazer isso

2
David Conde