반응형
DataRowCollection을 IEnumerable로 변환
.NET 3.5에서 이와 같은 작업을하고 싶습니다. 가장 빠른 방법은 무엇입니까?
IEnumerable<DataRow> collection =
TypedDataSet.TypedTableBase<DataRow>.Rows as IEnumerable<DataRow>;
공분산을 도입하는 .NET 4.0을 사용한다고 가정합니다.
// Presumably your table is of some type deriving from TypedTableBase<T>,
// where T is an auto-generated type deriving from DataRow.
IEnumerable<DataRow> collection = myTypedTable;
테이블 유형 자체는 구현합니다 IEnumerable<T> where T : DataRow
.
그렇지 않으면:
IEnumerable<DataRow> collection = myTypedTable.Cast<DataRow>();
당신은 호출 할 수 있습니다 OfType<DataRow>()
온 DataRowCollection
.
간단한 직접적인 해결책은 "DataRow []"를 생성하는 System.Data.DataTable 개체의 "Select ()"메서드를 사용하는 것입니다. 여기에서 아래와 같이 Linq를 사용하여 IEnumberable로 처리 할 수 있습니다.
List<MyItem> items = dtItems.Select().Select(row => new MyItem(row)).ToList();
각 행에 대한 유용한 개체 목록을 제공합니다.
메서드 System.Data.DataSetExtensions.dll
를 추가하는 프로젝트에 포함하는 경우 기본 제공 확장 메서드가 있습니다 AsEnumerable()
.
IEnumerable<DataRow> collection = TypedDataSet.TypedTableBase<DataRow>.AsEnumerable();
참고 URL : https://stackoverflow.com/questions/4974159/convert-datarowcollection-to-ienumerablet
반응형
'code' 카테고리의 다른 글
java / scala에 좋지 않은 dbunit과 같은 프레임 워크가 있습니까? (0) | 2020.12.03 |
---|---|
-webkit-animation을 사용하여 맥박 효과를 만드는 방법-바깥 쪽 고리 (0) | 2020.12.03 |
OnTouchListener의 Ontouch 이벤트가 Android에서 두 번 호출됩니다. (0) | 2020.12.03 |
네임 스페이스 이름을 바꾼 후 Main 메서드에 지정된 'WindowsFormsApplication1.Program'을 찾을 수 없습니다. (0) | 2020.12.03 |
PHP : 중첩 루프 끊기 (0) | 2020.12.03 |