Замена текста в List<> c#

Не знаю как правильно это реализовать. У меня есть List<>

public List<string> list = new List<string>();

Его я предварительно заполняю строкой:

string[] doingsometh = { Name + " - " + 
                         Convert.ToString(DenRojd) + " - " 
                       + Convert.ToString(Vozrast)};

Я добавляю несколько строк, как именно этому имени поменять возраст?


Ответы (1 шт):

Автор решения: YD359

Хранить не строки, а объекты. Примерно так:

class MyClass {
   public string Name {set;get;}
   public DateTime BirthDay {set;get;}
   // зачем нужен возраст отдельно, если есть день рождения, этого я не понял
   public int Age {set;get;}
}

А далее делаете лист с этим классом

var list = new List<MyClass>();
// создаем экземпляр класса и добавляем в список
var somePerson = new MyClass() {
   Name = "имя",
   BirthDay = вашаДата,
   Age = вашВозраст
}
list.Add(somePerson);

И немного магии Linq, чтобы проще обращаться к элементам списка:

// поиск по имени
var person = list.SingleOrDefault(x => x.Name == "НужноеИмя");
// меняем возраст на нужный
person?.Age = 123;
→ Ссылка