Как я могу сгенерировать List<String> из вложенных объектов?
У меня есть следующие вложенные классы:
class Report
{
List<ReportItem> list;
}
class ReportItem
{
public string str1;
public string str2;
}
Без добавления каких-либо новых методов в вышеупомянутые классы, если у меня есть Report r
Как я могу создать List<String>
из всех str1
струны, сгруппированные в r.list
?
Нет Linq, как я использую VS2005.
2 ответа
В зависимости от версии.NET вы можете использовать Array.ConvertAll
функция для перевода элементов, как это:
new List<string>(Array.ConvertAll(list.ToArray(), delegate(Report item){ return item.str1; }));
Хотя это немного грязно.
List<string> resultList = new List<string>();
foreach (ReportItem ri in r.list) { resultList.Add(ri.str1); }