.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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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