поэтому при написании пользовательских сериализаций следует избегать блокирования и распаковки значений, допускающих обнуление. Тогда это был бы абсолютно правильный и не малейший вводящий в заблуждение ответ, но после того, как вы перечитали бы его, вы удалили бы его, потому что это было бы совершенно неуместно по отношению к тому, что спросил ОП.
гда использовалNullable<>.HasValue
потому что мне понравилась семантика. Тем не менее, недавно я работал над чьей-либо существующей кодовой базой, где они использовалиNullable<> != null
исключительно вместо
Есть ли причина использовать один над другим или это просто предпочтение?
int? a;
if (a.HasValue)
// ...
против
int? b;
if (b != null)
// ...