Ответ 1
LINQ - это ответ. Вы можете использовать его для "проекта" из вашей коллекции объектов в другую коллекцию - в этом случае - совокупность значений свойств объекта.
List<string> properties = objectList.Select(o => o.StringProperty).ToList();
В настоящее время я использую цикл foreach
для возврата списка свойств object
.
class X
{
List<X> Z = GetXlist();
List<String> r = new List<String>();
foreach (var z in Z)
{
r.Add(z.A);
}
return r;
}
Есть ли способ сократить это, так что мне не нужно писать цикл foreach
?
LINQ - это ответ. Вы можете использовать его для "проекта" из вашей коллекции объектов в другую коллекцию - в этом случае - совокупность значений свойств объекта.
List<string> properties = objectList.Select(o => o.StringProperty).ToList();
Вы можете использовать LINQ:
List<X> Z = GetXlist();
List<String> r = Z.Select(z => z.A).ToList();
return r;
Или просто,
return GetXlist().Select(z => z.A).ToList();
Узнайте больше о LINQ. Это очень полезно.