반응형
DataRow를 복사하거나 복제하는 C # 간단한 방법?
DataRow의 복제본을 만드는 간단한 방법을 찾고 있습니다. 해당 행의 스냅 샷을 찍고 저장하는 것과 같습니다. 그러면 원본 Row의 값은 자유롭게 변경할 수 있지만 변경되지 않는 다른 저장된 사본이 있습니다. 이것이 올바른 방법입니까?
DataRow Source, Destination;
//Assume we create some columns and fill them with values
Destination.ItemArray = Source.ItemArray;
이것은 Snapshot의 ItemArray 참조가 Source의 항목을 가리 키도록 설정합니까 아니면 실제로 별도의 복사본을 생성합니까? 대신 이것을해야합니까?
Destination.ItemArray = Source.ItemArray.Clone();
편집 : 두 번째 코드 조각이 실제로 컴파일되지 않는다고 생각합니다.
ImportRow
메서드 를 사용 하여 동일한 스키마를 사용하여 DataTable에서 DataTable로 행을 복사 할 수 있습니다 .
var row = SourceTable.Rows[RowNum];
DestinationTable.ImportRow(row);
최신 정보:
새로운 편집을 통해 다음을 믿습니다.
var desRow = dataTable.NewRow();
var sourceRow = dataTable.Rows[rowNum];
desRow.ItemArray = sourceRow.ItemArray.Clone() as object[];
작동 할 것이다
그러나 새 테이블에서 새 행에 액세스 할 수 있는지 확인하려면 테이블을 닫아야합니다.
DataTable destination = new DataTable(source.TableName);
destination = source.Clone();
DataRow sourceRow = source.Rows[0];
destination.ImportRow(sourceRow);
참고 URL : https://stackoverflow.com/questions/12025012/c-sharp-simple-way-to-copy-or-clone-a-datarow
반응형
'program tip' 카테고리의 다른 글
오류시 'pi'기호를 표시하는 컴파일러 (0) | 2020.08.15 |
---|---|
스크린 샷을 저장할 때 Xcode 8.2 시뮬레이터 충돌 (0) | 2020.08.15 |
C #에서 'for'및 'foreach'제어 구조의 성능 차이 (0) | 2020.08.15 |
Android 앱용 투명 데모 화면을 어떻게 만드나요? (0) | 2020.08.15 |
자바 스크립트로 이메일 보내기 (0) | 2020.08.15 |