현재 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 쿼리에서 사용할 수 있습니다.