본문 바로가기

c#

c# DataTable 복사하기 복제하기 copy() 메서드와 clone() 메서드

C# 의 DataTable 클래스는 복제 기능과 복사 기능을 제공합니다.

아래는 그 메서드를 활용하는 예제 코드입니다.

static void Main(string[] args)
     {
         DataTable dt = new DataTable(); //데이터 테이블 생성
         DataTable dtcopy = new DataTable(); //복사할 데이터 테이블 생성
         DataTable dtclone = new DataTable(); //복제할 데이터 테이블 생성
         
         dt.Columns.Add("NAME",typeof(string));
         dt.Columns.Add("NUMBER", typeof(int));
         dt.Columns.Add("DOUBLE", typeof(double));
 
         dt.Rows.Add("테스트","243","dgfd");
 
         dtcopy=dt.Copy();
         dtclone = dt.Clone();
     
        
     }

 

 

원본 데이터인 dt객체의 모습

dt 객체에 컬럼의 타입과 행을 넣어주면 위와 같이 데이터 테이블이 형성이 됩니다.

위의 데이터 테이블에 copy() 메서드를 사용하여 복사를 해주면 아래와 같이

dt객체와 똑같은 객체인 dtcopy가 생성 됩니다.

c# 복사한 dt 객체와 똑같은 구조와 똑같은 데이터를 가진 객체가 생성됨

 

반면에 clone()메서드를 사용한 dtclone 객체는 아래와 같이 내부 데이터는 똑같지 않지만 데이터 테이블의 형식과 구조를 똑같이 복제하여 사용 할 수 있습니다.

 

C# clone()메서드를 사용한 dtclone객체의 모습

두개를 구분하여 잘 사용하면 될 것 같습니다.