Я знаком с спецификацией С#, в разделе 5.3, в которой говорится, что перед использованием должна быть назначена переменная.
В C и неуправляемом С++ это имеет смысл, поскольку стек не очищается, а расположение памяти, используемое для указателя, может быть где угодно (что приводит к затруднению отслеживания ошибок).
Но у меня создается впечатление, что во время выполнения нет действительно "неназначенных" значений. В частности, что ссылочный тип, который не инициализирован, всегда будет иметь нулевое значение, а не значение, оставшееся от предыдущего вызова метода или случайного значения.
Это правильно, или я ошибочно полагал, что проверка на нуль достаточна все эти годы? Можете ли вы иметь неинтеллизированные переменные в С#, или CLR позаботится об этом, и всегда будет установлено НЕКОТОРНОЕ значение.