2013-01-03 2 views
0

Windows phone에서 LINQ의 사전으로 데이터베이스에서 테이블을 검색했습니다. 내 사전은 내가사전 값을 목록으로 변환하는 방법은 무엇입니까?

var studentDictionary = studContext.StudentList.Select(p => new { p.RollNo, p }).AsEnumerable().ToDictionary(kvp => kvp.RollNo, kvp => kvp); 

로 LINQ에서 테이블을 검색이

Dictionary<int, StudentTable> 

같다 그러나 나는 그것이 알고

List<StudentTable> 

로 studentDictionary의 모든 값을 얻으려면 for 루프를 사용하여 각 사전 값을 목록에 추가하여 가능합니다. 루프없이이 작업을 수행하려면 어떻게해야합니까? ? 루프가 아닌 다른 방법이 있습니까?

감사

+0

어쨌든 루프를 수행 그래서 당신은 루프를 작성하지 않는 이유 목록에가는 것과없는 것에 대해 더 많은 자유를 내부적으로 다른 모든 방법을 사용하여 ? – Bazzz

답변

10

당신은 studentDictionary.Values를 사용할 수 있습니다.

PS : 키에 대한 같은 작품 studentDictionary.Keys

+1

... 그리고 정말로리스트를 원한다면 'StudentDictionary.Values.ToList()' – afrischke

+0

은'IList '이 아니라'Dictionary .ValueCollection'가'ICollection '입니다. 그래도 쉽게 해결할 수 있습니다. 그것에'.ToList()'를 호출하십시오. –

0

귀하의 사전 유형 StudentTable의 목적은 Value가 포함되어 있습니다. 사전에서 선택하고 ToList 방법을 적용 할 수 있습니다.

var list = studentDictionary.Values.ToList(); 

또는

var list = studentDictionary.Select(r => r.Value).ToList(); 
+0

@Downvoter, 관심있는 댓글? – Habib

관련 문제