Задать вопрос
BadCats
@BadCats

NullReferenceException при сравнении содержимого ComboBoxItem?

private void ComboBoxMenu_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            
            ComboBoxItem lbi = ((sender as ComboBox).SelectedItem as ComboBoxItem); 
 
           
         
            
            if (lbi.Content.ToString()=="Вийти из приложения")

и вот на этой строке:
if (lbi.Content.ToString()=="Вийти из приложения")
выдает исключение
System.NullReferenceException: "Ссылка на объект не указывает на экземпляр объекта."

- но в смысле экземпляр объекта? я ведь работаю с SelectedItem - свойством которое с помощью as привожу к ComboBoxItem - и все это передаю в lbi , но я не могу передать ссылку на новый экземпляр, ведь я уже работаю с текущим ComboBox и его ComboBoxItem ?
  • Вопрос задан
  • 197 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
Решения вопроса 1
ComboBoxItem lbi = ((sender as ComboBox).SelectedItem as ComboBoxItem);

В переменной lbi может находиться null, если ничего не выбрано, т.к. as возвращает null, если преобразование не удалось.

Ниже Вы пытаетесь получить доступ к полю Content у null. Об этом компилятор и сообщает.

Решение: нужно добавить проверку на null перед использованием lbi
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы