개체 목록에서 속성 목록 가져 오기


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 루프를 작성하지 않습니다. 당신이 알고 있어야하는 차이가 programmers.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 쿼리에서 사용할 수 있습니다.


4
이는 기존의 대답에 값을 제공하지 않습니다
이반 Kaloyanov
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.