Учитывая объект со свойством, которое является массивом объектов, как установить конкретный экземпляр указанного свойства в 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!

Другие вопросы по тегам