This problem, not being able to assign null to value types, was alleviated in C# 2.0 with the introduction of a feature called nullable types. It essentially allows you to declare
nullable value types to which, as the name suggests, you can assign the value null.
There are some value types that is nullable types in C# now, like DateTime. You can directly do this: DataTime newDate = null; and later you can judge whether it's equal to null and take latter actions.