Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
32 / 34 / 21
Регистрация: 31.03.2018
Сообщений: 495
1

Необработанное исключение типа "System.NullReferenceException"

24.10.2018, 17:44. Показов 2209. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Учу C#. Сейчас на этапе классов. Пробовал создавать объекты и заполнять их разными способами. Вот сейчас решил создать массив объектов и заполнить их с клавиатуры, но на строке IT[i].name = Console.ReadLine(); происходит сбой и выбивает ошибку(смотреть "Заголовок"). Также прикреплю скрины с ошибкой. Объясните, пожалуйста, как решить эту проблему и из-за чего вылазит ошибка(и что она означает).
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace LEARNING
{
    class Student
    {
        public string name;
        public int course;
        public float budget;
        protected int quantity_of_students = 0;
        public Student()
        {
            name = "";
            course = 0;
            budget = 618.78f;
        }
        public void Animal(float quantity, string name, int course)
        {
            this.name = name;
            this.course = course;
            budget = quantity;
        }
        public void Show()
        {
            Console.WriteLine(name);
            Console.WriteLine("Number of course: " + course);
            Console.WriteLine("BUDGET = " + budget);
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Student[] IT = new Student[5];
            for (int i = 0; i < IT.Length; i++)
            {
                Console.Write("Enter student name, please: ");
                IT[i].name = Console.ReadLine();
                Console.Write("Enter student course, please: ");
                IT[i].course = Convert.ToInt32(Console.ReadLine());
            }
            for (int i = 0; i < IT.Length; i++)
            {
                IT[i].Show();
            }
        }
    }
}
Необработанное исключение типа "System.NullReferenceException"
Необработанное исключение типа "System.NullReferenceException"
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.10.2018, 17:44
Ответы с готовыми решениями:

При запуске программы ошибка Необработанное исключение типа "System.NullReferenceException"
При запуске программы выбивает ошибку Необработанное исключение типа...

Необработанное исключение типа "System.NullReferenceException"
Добрый день, создаю два класса, в одном определяются поля покупка и цена, в другом объект ТList...

Необработанное исключение: System.NullReferenceException
Здравствуйте, господа. Пожалуйста помогите разобраться: суть программы принять аргументы командной...

Необработанное исключение: System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта
При попытке вывода всех комплектующих выводит сообщение о необработанном исключениии using...

Необработанное исключение типа "System.IO.IOException" в System.dll Операция ввода/вывода была прервана из-за завершения
Доброе время суток. Имеется 2 прибора, которые хочу одновременно опрашивать по com порту....

3
911 / 815 / 333
Регистрация: 03.02.2015
Сообщений: 5,265
Записей в блоге: 9
24.10.2018, 17:51 2
Нет ссылки на обьект, посмотрите, что у Вас в массиве IT и сразу все станет ясно)
, попробуйте разобрать свой код начиная с 38 строки, особое внимание обратите на то что ОБЬЯВЛЕНО и что ИНИЦИАЛИЗИРОВАНО.
1
5 / 3 / 6
Регистрация: 18.05.2016
Сообщений: 27
24.10.2018, 17:56 3
Лучший ответ Сообщение было отмечено Iangyl как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
static void Main(string[] args)
        {
            Student[] IT = new Student[5];
            for (int i = 0; i < IT.Length; i++)
            {
                IT[i]=new Student(); // инициализация
                Console.Write("Enter student name, please: ");
                IT[i].name = Console.ReadLine();
                Console.Write("Enter student course, please: ");
                IT[i].course = Convert.ToInt32(Console.ReadLine());
            }
            for (int i = 0; i < IT.Length; i++)
            {
                IT[i].Show();
            }
        }
1
32 / 34 / 21
Регистрация: 31.03.2018
Сообщений: 495
24.10.2018, 18:46  [ТС] 4
Sanya_sa, то есть Student[] IT = new Student[5] - это объявление, а инициализация это совсем другое?

Добавлено через 53 секунды
Username95, спасибо, оно заработало!
0
24.10.2018, 18:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.10.2018, 18:46
Помогаю со студенческими работами здесь

Необработанное исключение типа "System.IO.FileLoadException" в System.Windows.Forms.dll
Всем доброго времени суток! Возникла проблема при подключении...

Необработанное исключение типа "System.ArgumentException" в System.Drawing.dll
Доброго времени суток. Возникла проблема с загрузкой изображения из базы данных. Вот собственно...

Необработанное исключение типа "System.UnauthorizedAccessException" в System.Speech.dll
Когда начал компилировать такая вот ошибка вышла : &quot;Необработанное исключение типа...

Необработанное исключение типа "System.IO.IOException" в System.dll
Здравствуйте. Недавно начал учиться программировать на C#. При создании следующей программы...

Необработанное исключение типа "System.ArgumentException" в System.dll
доброго времени суток!!!! проблема такая не могу настроить отправку на почту майл!!!!!! у меня...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru