Я чувствовал , важно разделять Nullable<T>.GetValueOrDefault()
метод , который особенно удобен при работе с математическими вычислениями , которые используют Nullable<int>
ака int?
значения. Во многих случаях вам не нужно проверять HasValue
собственность, и вы можете просто использовать ее GetValueOrDefault()
.
var defaultValueOfNullableInt = default(int?);
Console.WriteLine("defaultValueOfNullableInt == {0}", (defaultValueOfNullableInt == null) ? "null" : defaultValueOfNullableInt.ToString());
var defaultValueOfInt = default(int);
Console.WriteLine("defaultValueOfInt == {0}", defaultValueOfInt);
Console.WriteLine("defaultValueOfNullableInt.GetValueOrDefault == {0}", defaultValueOfNullableInt.GetValueOrDefault());