В .NET 4.0, если вы создаете Календарь и смотрите на поле SelectedDate, оно имеет тип «DateTime?». Что за сделка с? в конце типа?
? в конце означает, что он обнуляем, как, например, элемент управления может вообще не иметь SelectedDate.
См: http://msdn.microsoft.com/en-us/library/1t3y8s4s.aspx
DateTime? означает Nullable<DateTime>, что означает, что это свойство может содержать null. Между тем просто DateTime - не может.
DateTime?
Nullable<DateTime>
null
DateTime
Подробнее о Обнуляемых типах на MSDN
? в конце означает, что тип значения также может быть нулевым.