Ошибка при обращении к элементу массива

202
15 мая 2018, 08:00

При запуске программы

class Program
{
    static void Main()
    {
        string[] listNames = new string[4] { "Личный", "Рабочий", "Семейный", "Список книг" };
        TodoList[] TodoLists = new TodoList[listNames.Length];
        for (int i = 0; i < TodoLists.Length; i++)
        {
            TodoLists[i].name = listNames[i];
        }
    }
}
class TodoList
{
    public string name;
    public string[] tasks;
}

получаю ошибку

Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object. at dz.Program.Main(String[] args) in C:\Users\Yuri\source\repos\dz\dz\Program.cs:line 15

Answer 1

TodoList[] TodoLists = new TodoList[listNames.Length] лишь создаёт массив на listNames.Length элементов, в каждой ячейке которого лежит null.

Вам сначала нужно проинициализировать элементы массива, чтобы с ними работать.

TodoList[] TodoLists = new TodoList[listNames.Length];
for (int i = 0; i < TodoLists.Length; i++)
{
    TodoLists[i] = new TodoList();
    TodoLists[i].name = listNames[i];
}
Answer 2
for (int i = 0; i < TodoLists.Length; i++)
{
    TodoLists[i] = new TodoList() { name = listNames[i] };
}
READ ALSO
как сделать нейронную простейшую сеть с 1 входом и 1 выходом

как сделать нейронную простейшую сеть с 1 входом и 1 выходом

Мне надо научить сеть делать что-то типо мат функцийТ

180
Moq объект для тестирования

Moq объект для тестирования

как для такого контекста правильно написать moq? PS

200
Поддержка двух реализаций страницы в .net asp mvc

Поддержка двух реализаций страницы в .net asp mvc

Имеется проект на aspnet mvc Появилась необходимость расширить функциональность страницы (добавить несколько колонок в таблицу, изменить метод...

219
Передача переменных из одной формы в другую

Передача переменных из одной формы в другую

Не знаю почему но возникла такая проблема: У меня есть 5 форм напримерНапример я делаю в 1 форме глобальные переменные

186