Alguns tipos em .net não podem receber o valor null, como DateTime, Boolean, Int, char, etc…
Isso se torna chato quando você tem que verificar se o valor de um DateTime foi atribuído, e pior ainda ao utilizar isso com uma ferramenta de mapeamento relacional como o NHibernate. Pois o banco aceita o DateTime null, mas o objeto não.
Para solucionar este problema existe o modificador ? que ao ser utilizado nos tipos de dados, transforma eles de NonNullable em Nullable:
Seguem exemplos de utilização:
Exemplo 1:
DateTime? _ComputedDate = null;
Exemplo 2:
private DateTime? _ComputedDate;
public virtual DateTime? ComputedDate {
get { return _ComputedDate; }
set { _ComputedDate = value; }
}
Até o próximo post!