2

введите сюда описание изображения

При работе с той частью программы, за которую отвечает этот код, выскакивает исключение "Ссылка на объект не указывает на экземпляр объекта." C# учу недавно, с такой ошибкой столкнулся впервые. Ниже часть кода с выделенной строкой с ошибкой:

        for (var i = 0; i < dataGridView1.Rows.Count; i++)
        {
            string subj;
         !! subj = dataGridView1.Rows[i].Cells["ВидЗанятий"].Value.ToString().Trim();

            if ((subj == "Пр") || (subj == "Лек") || (subj == "Лаб"))
            {
                textBox1.Text += "Известный тип" + "\r" + "\n";
            }
            else
            {
                textBox1.Text += "Неизвестный тип занятий" + "\r" + "\n";
            }                
        }

1 Answers1

2

У вас проблема в том что, значение в ячейке не установлено, вам необходимо сделать следующее:

for (var i = 0; i < dataGridView1.Rows.Count; i++)
{
    var cell =dataGridView1.Rows[i].Cells["ВидЗанятий"].Value;
    if(cell!=null)
    {
         subj =cell.ToString().Trim();
         if ((subj == "Пр") || (subj == "Лек") || (subj == "Лаб"))
        {
            textBox1.Text += "Известный тип" + "\r" + "\n";
        }
        else
        {
            textBox1.Text += "Неизвестный тип занятий" + "\r" + "\n";
        }                                       
    }
    else
     {
         textBox1.Text += "Пустое значение" + "\r" + "\n";
     }

}

В результате ваша проблема должна исчезнуть.

Monomax
  • 489