В настоящее время я использую 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 . Это очень полезно.
источник
List<string> properties = objectList.Select(o => o.StringProperty).ToList();
Вы также можете использовать частный
OverLoading
метод и использовать его в LINQ Query.источник