2014-12-09 3 views
3

개체 목록이 있습니다. 각 객체의 속성 하나 (문자열 값)를 문자열 목록으로 분리하는 데 관심이 있습니다. 이 필드 만 사용하여 문자열리스트를 만들 수 있습니까? 을 수동으로 사용하지 않고 루핑을 사용합니까?개체 목록에서 문자열 목록 생성

class MyObj 
{ 
    int ID {get;set;} 
    int AnotherID (get;set;} 
    string IneedThis {get;set;} 
} 

List<MyObj> sampleList = somehow_this_is_populated(); 
List<string> ls = how do I get this list with values equal to "sampleList.IneedThis" 
+0

'sampleList.Select (O => o.IneedThis) .ToList() ' –

+3

왜 downvote? 그래서 OP는 LINQ를 알지 못했습니다. 잘 설명 된 질문입니다. LINQ 선택은 suff를 만드는 방법입니다. +1 – Paparazzi

답변

3

당신은 당신의 재산을 Select 수와 같은 목록 작성 :

List<string> ls = new List<string>(); 
foreach (MyObj myObj in sampleList) 
{ 
    ls.Add(myObj.IneedThis); 
} 
: 당신이 using System.Linq;

당신은 또한 같은 foreach 루프와 같은 얻을 수 있습니다 포함되어 있는지 확인

List<string> ls = sampleList.Select(item => item.IneedThis).ToList(); 

에서 클래스의 속성이 public인지 확인하십시오. 현재 클래스에서 액세스 한정자가 없으므로 private으로 간주됩니다. 그들이 좋아하는 정의 :

List<string> ls = sampleList.Select(x=>x.IneedThis).ToList(); 
1

.

List<string> ls = sampleList.Select(obj => obj.IneedThis).ToList(); 
1

사용 LINQ :이 일을 시도 할 수

public string IneedThis { get; set; }