2012-10-05 3 views
0

For Each 루프를 사용하는 대신 DataTable의 단일 열에서 모든 항목을 추출하는 방법이 있습니까?DataTable에서 열 추출

예를 들어, 다음은 더 좋은 방법 및/또는이 작업을 수행하는 빠른 방법이 있나요 DataTable에

List<KeyValuePair<string, double>> extract = new List<KeyValuePair<string, double>>(); 
foreach (DataRow item in _dataTableTest.Rows) 
{ 
    KeyValuePair<string, double> selection = (KeyValuePair<string, double>)item["Selection"]; 
    extract.Add(selection); 
} 

의 단일 컬럼의 각 행에서 KeyValuePair의 목록을 작성?

답변

4

당신은 당신이 using System.Linq;을 추가 할 필요가 Linq-To-DataTable

List<KeyValuePair<string, double>> extract = _dataTableTest.AsEnumerable() 
      .Select(r => r.Field<KeyValuePair<string, double>>("Selection")) 
      .ToList(); 

주를 사용할 수 있으며,이 성능면에서 "더 빨리"아니라고. 또한 내부적으로 루프를 사용합니다.

관련 문제