Consider the following Enum and a corrsponding nullable field of that type
enum PossibleOptions { One, Two }
PossibleOptions? option;
Alternatively I could declare the enum and the corresponding field as
enum PossibleOptions { Unspecified, One, Two }
PossibleOptions option;
This non-nullable field would be initialized to the first value i.e 'Unspecified' and I achieve the same result as a nullable ('Unspecified' would replace option.HasValue).
Why go for a Nullable then? Any performance gains or other advantages?