본문 바로가기
개발/C#

[C#] DataTable 구조 및 데이터 복사 (Clone, Copy)

by 김토끼A 2021. 8. 30.

C#

 C#에서 DataTable을 복사하고자 할때 그냥 DataTable에 할당하게 되면 레퍼런스 타입으로 받기 때문에 한쪽에서 데이터를 수정하게 되면 다른쪽도 똑같이 변경되어버립니다. 그래서 DataTable을 복사해서 똑같은 DataTable을 만들고 싶을때 Copy()라는 메서드를 사용하면 됩니다. 또한 데이터는 필요없는데 구조만 복사하고 싶을 때는 Clone()이라는 메서드를 사용하면 됩니다. DataTable의 Copy()Clone()에 대해 알아보도록 하겠습니다.

 

 

Copy()

: DataTable의 구조와 데이터를 모두 복사함.

아래 그림처럼 animalDt1을 복사한 animalDt2를 만들고 싶으면 DataTable animalDt2 = animalDt1.Copy()를 하면 됩니다. animalDt1에 내용을 변경해도 animalDt2에 아무런 영향을 주지 않습니다.

 

Copy

DataTable animalDt2 = animalDt1.Copy();

 

 

Clone()

: 스키마, 관계 및 제약 조건을 포함하여 DataTable의 구조를 복제함.

아래 그림처럼 animalDt1의 구조만 복사한 animalDt2를 만들고 싶으면 DataTable animalDt2 = animalDt1.Clone()를 하면 됩니다. 그리고 animalDt2에 데이터를 넣어줘도 animalDt1에는 아무런 영향이 없습니다.

 

Clone

DataTable animalDt2 = animalDt1.Clone();

'개발 > C#' 카테고리의 다른 글

[C#] DataTable 중복 row 제거하기 (Distinct)  (0) 2021.08.14

댓글