Member 13081540 Ответов: 1

Добавить список объектов в другой список C#


Я играл вокруг с Список<> У объектов. Я пытался создать список дат внутри списка. В основном список объектов может содержать, например, 3 даты.

Я не знаю, как это сделать.

Класс людей:
public string Name { get; set; }
public string Surname { get; set; }
public int Age { get; set; }
public List<Dates> numberOfDates{ get; set; } = new List<Dates>();


Класс даты:
public DateTime date { get; set; }


Что я уже пробовал:

В моей основной форме у меня есть два обработчика событий. Один из них AddPerson второе-это Адддаты В основном, когда вы добавляете даты, я хочу, чтобы они сохранялись в кнопке AddPerson для добавления в объект (если это имеет смысл).

private void AddPerson(object sender, EventArgs e)
{
Person person = new Person();
person.Name = txtFirstName.Text;
person.Surname = txtSurname.Text;
person.Age = int.Parse(txtAge.Text);





 private void btnAddDates_Click_1(object sender, EventArgs e)
        {
People people = new People();
Dates dates= new Dates();

dates.date = dtpClaim.Value; //dtp is the date time picker                  people.numberOfDates.Add(dates);
        }


Короче говоря, как только я добавлю дату/даты в событие addDates, оно добавит ее к конкретному человеку в событии addPerson.

[no name]

Ну, ваш код не делает того, что вы говорите, но в чем ваш вопрос?

F-ES Sitecore

Ваши классы довольно запутанны, и то, как они соотносятся друг с другом, также сбивает с толку, я думаю, вам, вероятно, нужно пересмотреть то, как вы храните вещи и как вы их называете. Но чтобы добавить дату людям вы бы сделали

люди.numberOfDates.Добавить (даты {дата = dtpClaim.Значение});

1 Ответов

Рейтинг:
2

OriginalGriff

Вам нужно идентифицировать соответствующий экземпляр person - и я понятия не имею, как вы их храните, вы этого не показываете: экземпляр Person создается заново каждый раз, когда вы добавляете дату a, поэтому его там не может быть.

Но как только у вас есть человек, это легко:

myPerson.numberOfDates.add(dates);


Кстати: старайтесь не называть вещи множественными, если они не являются коллекцией: "даты" - это единый объект хранения дат, поэтому он должен быть" датой", а" люди", вероятно, должны быть" человеком " - но у вас, похоже, есть класс и для этого...и это сбивает с толку!


Member 13081540

Эй, спасибо за ответ, я забыл добавить фрагмент кода, который показывает, как хранить человека в обработчике событий addPerson. Так вот оно что -
List & lt;driver> ListOfPeople = новый список & lt;driver>();
Список людей.Добавить (персона);