<p>I've been searching a lot but couldn't find a solution. How do you deal with a DateTime that should be able to contain an uninitialized value (equivalent to null)? I have a class which might have a DateTime property value set or not. I was thinking of initializing the property holder to DateTime.MinValue, which then could easily be checked. I guess this is a quite common question, how do you do that?</p>

For normal DateTimes,  if you don't initialize them at all then they will match
```
DateTime.MinValue
```
, because it is a value type rather than a reference type.
You can also use a nullable DateTime, like this:
```
```
DateTime? MyNullableDate;
```
```
Or the longer form:
```
```
Nullable<DateTime> MyNullableDate;
```
```
And, finally, there's a built in way to reference the default of any type.  This returns
```
null
```
for reference types, but for our DateTime example it will return the same as
```
DateTime.MinValue
```
:
```
```
default(DateTime)
```
```
or, in more recent versions of C#,
```
```
default
```
```