У C #, яке значення за замовчуванням має змінну типу екземпляра класу int?
?
Наприклад, у наведеному нижче коді яке значення матиме MyNullableInt
, якщо воно ніколи не буде призначено прямо?
class MyClass
{
public int? MyNullableInt;
}
(Мабуть, ймовірно, що відповідь майже напевно є null
або 0
, але яка з них?)
9
Чому потік? (Відповідь на це запитання для мене спочатку не була очевидною без фактичного запуску коду для перевірки поведінки; і дивно, я не зміг знайти дублікат цього питання в StackOverflow або легко допрацьований в іншому місці через Google.)
—
Джон Шнайдер
Ви могли заглянути сюди - перший для мене хіт Google.
—
500 - Внутрішня помилка сервера
@ 500 - Я знайшов цю статтю, коли я досліджував - я насправді пов’язаний з нею у своїй власній відповіді нижче - але, наскільки я можу сказати, у статті прямо не вказано, що значення за замовчуванням для екземпляра типу, що міняється, за замовчуванням є нульовим. Це дійсно сказати , «Значення за замовчуванням для HasValue помилкова. Значення властивості не має значення по замовчуванням», але це не відразу відповів на мій оригінальний питання , без якого - або додаткового копання.
—
Джон Шнайдер
Цікаво, чи це було тому, що ви могли просто встановити точку перерви і побачити, що таке значення, або у типі «Негайне вікно»
—
Руфус Л
int? x;
і побачити, що це результат?