Скомпилируется ли код var a = null; с последующим присвоением a = 10?
C# / .NET
Основы языка
Junior
Что это: Компилятор не может вывести тип var из null, потому что null не даёт информации о целевом типе. Нужно явно указать тип: int? a = null или object a = null.
Почему важно: Проверяет понимание ограничений type inference для var на этапе компиляции.
Под капотом: Roslyn требует однозначного типа для неявно типизированной локальной переменной. null без контекста приводит к ошибке CS0815 до генерации IL.
Типичная ошибка: Считать var динамическим типом, который примет любое последующее присвоение, как в JavaScript.
var a = null; // CS0815: не удалось вывести тип
a = 10;