Учитывая объект со свойством, которое является массивом объектов, как установить конкретный экземпляр указанного свойства в C#?
У меня есть два объекта: "Таблица" и "Запись". "Table" имеет свойство "Items", которое является массивом типа "Record[]".
Как мне установить свойство "Items" определенного экземпляра "Table" (например, table.Items[0]) для конкретного экземпляра "Record" (например, first_record)?
Я попытался закодировать его следующим образом, но мой код приводит к ошибке "NullReferenceException is unhandled".
Record first_record = new Record();
first_record.Field1 = "r1f1";
first_record.Field2 = "r1f2";
first_record.Field3 = "r1f3";
Record second_record = new Record();
second_record.Field1 = "r2f1";
second_record.Field2 = "r2f2";
second_record.Field3 = "r2f3";
Table table = new Table();
table.Items[0] = first_record;
table.Items[1] = second_record;
Спасибо
1 ответ
Решение
Stackru предложил аналогичный вопрос, который дал мой ответ. Я не смог инициализировать массив. Вот строка, которую я пропустил:
table.Items = new Record[2];
Вставка этой строки в код из моего исходного вопроса приводит к следующему:
Record first_record = new Record();
first_record.Field1 = "r1f1";
first_record.Field2 = "r1f2";
first_record.Field3 = "r1f3";
Record second_record = new Record();
second_record.Field1 = "r2f1";
second_record.Field2 = "r2f2";
second_record.Field3 = "r2f3";
Table table = new Table();
table.Items = new Record[2];
table.Items[0] = first_record;
table.Items[1] = second_record;
Это добилось цели. Спасибо, Stackru!