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

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

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

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

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

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

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


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

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

6   голосов , оценка 4.167 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы