Получить список свойств из Списка объектов


88

В настоящее время я использую 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цикл?


Вы не пишете цикл for. Есть разница, которую вы должны знать о программистах.
— Stackexchange.com/questions/178218/…

Ответы:


166

LINQ - это ответ. Вы можете использовать его для «проецирования» из вашей коллекции объектов в другую коллекцию - в данном случае коллекцию значений свойств объекта.

List<string> properties = objectList.Select(o => o.StringProperty).ToList();

12

Вы можете использовать LINQ:

List<X> Z = GetXlist();

List<String> r = Z.Select(z => z.A).ToList();

return r;

Или просто,

return GetXlist().Select(z => z.A).ToList();

Узнайте больше о LINQ . Это очень полезно.


0
List<string> properties = objectList.Select(o => o.StringProperty).ToList();

Вы также можете использовать частный OverLoadingметод и использовать его в LINQ Query.


4
Это не придает значения установленному ответу
— Иван Калоянов
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.