.NET 4.x Инициализация переменных - C#

Узнай цену своей работы

Формулировка задачи:

Почему при вхождении в метод ссылочные поля не инициализируются дефолтными значениями?
SomeComOblect classVar;
 
public Method()
{
   SomeComOblect usedVar = null;
   SomeComOblect defVar = default(SomeComOblect );
   SomeComOblect errorVar;
 
   if (classVar.GetTitle() == "Some") {} //Нет еррорки на этапе комплиляции
   if (usedVar.GetTitle() == "Some") {} //Нет еррорки на этапе комплиляции
   if (defVar.GetTitle() == "Some") {} //Нет еррорки на этапе комплиляции
   if (errorVar.GetTitle() == "Some") {} //Еррорка! Явный ссылочный же тип? Чего б в null не перевести???
}
Или типа на явном
null я могу методы вызывать, а блин на неявном - нет Типа а вдруг null ссылка умеет что-то???

Решение задачи: «.NET 4.x Инициализация переменных»

textual
Листинг программы
//2 строчки кода в методе
IMyInterface innerInterface = null;
string test = innerInterface.GetTitle(); // компилится без ошибок =-O

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

Оцени полезность:

6   голосов , оценка 4.167 из 5
Похожие ответы