No, a nullable is a struct. What is happening is that the nullable struct has two values:
- The value of the data type (
intforint?,DateTimeforDateTime?, etc.). - A boolean value which tells if the data type value has been set. (
HasValueis the property.)
When you set the value of the data type, the struct changes HasValue to true.
Nullable types (C# Programming Guide)