반응형

지금까지 C#에서 메모리를 복사 하기 위해서 unsafe를 사용해서 포인터를 이용해서 메모리 복사를 하거나, 네이티브 코드를 dll import하여 사용했는데.. 검색해보니 지원되는 클래스가 있네요. ^^;

 

 


사용되는 클래스 : System.Buffer

 

static void Main(string[] pArg)    

{    

  byte[]   aSrc   = new byte[10];   // source buffer 를 생성합니다.    

  // source buffer 에 데이터를 담습니다.    

  aSrc   = Encoding.ASCII.GetBytes(string.Format("Test").ToCharArray());    

  byte[]   aDest  = new byte[10];   // destination buffer 를 생성합니다.    

  Buffer.BlockCopy(aSrc, 0, aDest, 0, aSrc.Length);    

}   


 BlockCopy 는 Array 인터페이스를 구현한 모든 클래스에 사용이 가능합니다.

또한.. Array.Copy와 차이를 여쭤보시는 분들이 계시기에 간단하게 이야기하자면..

BlockCopy가 Array.Copy에 비하여 약 2배 가까이 빠른 성능을 보입니다. (테스트 완료)

반응형

+ Recent posts