A Nullable<T> is a generic value type that can store a null value - normally only possible by reference types.
For more information on how this type functions, see the Microsoft documentation on Nullable<T>
Usage
Use this wherever you need a value variable (for example bool or float), but you also need to track an unset/empty/null state.