Как создать определенное количество объектов, определенных во время выполнения? - PullRequest
2 голосов
/ 17 ноября 2009

Так вот моя проблема ...

Допустим, у меня есть простой класс "Person" только с атрибутами "FirstName" и "LastName".

Я хочу, чтобы у меня была форма, в которой пользователь говорит, сколько «людей» он хочет создать, а затем заполняет имя для каждого.

например. пользователь хочет создать 20 человек ... он ставит 20 на поле, нажимает кнопку и начинает писать имена.

Я не знаю, сколько пользователей он собирается создать, поэтому у меня не может быть сотен переменных объекта в моем коде, как это

Person p1;
Person p2;
(...)
Person p1000;

Ответы [ 4 ]

4 голосов
/ 17 ноября 2009

Просто используйте

List<Person> lstPersons = new List<Person>();

А затем добавьте к нему людей:

lstPersons.Add(new Person());

Вы можете получить доступ к лицам с помощью

lstPersons[0]
lstPersons[1]
...
3 голосов
/ 17 ноября 2009

Создать массив, размер которого соответствует любому числу, введенному пользователем. Затем вы можете просто перебрать массив, чтобы создать все экземпляры.

int numberOfPeople = xxx; // Get this value from the user's input
Person[] people = new Person[numberOfPeople];
for (int i = 0; i < people.Length; i++)
    people[i] = new Person();
2 голосов
/ 17 ноября 2009

Вам необходимо использовать список . Вы создаете список этого вая:

var persons=new List<Person>();

и вы можете динамически добавлять элементы следующим образом:

Person thePerson=new Person(...);
persons.Add(thePerson);
0 голосов
/ 17 ноября 2009

Возможно, вы захотите использовать коллекцию объектов Person. Попробуйте посмотреть по этим ссылкам

...