2013-06-20 4 views
0
array<Byte>^one = gcnew array<Byte>(size); 
array<Byte>^two = gcnew array<Byte>(size); 
array<Byte>^three = gcnew array<Byte>(size); 

array<Byte>^complex = gcnew array<Byte>(3*size); 

첫 번째, 두 번째 및 세 번째 배열에서 복잡한 배열로 데이터를 복사하려고합니다. 어떻게 복사합니까?세 배열의 데이터를 하나의 배열로 복사하려고합니다.

+1

당신은 Buffer.BlockCopy http://msdn.microsoft.com/en-us/library/system.buffer.blockcopy.aspx?cs-에 모습을 가질 수있다 save-lang = 1 & cs-lang = cpp # code-snippet-1 – Nick

답변

3

가장 좋은 해결책은 기본 유형의 배열을 복사하기 위해 설계된 Buffer.BlockCopy을 사용하는 것입니다. 대안 (배열이 프리미티브의 배열이 아닌 경우)은 배열에 저장된 유형을 고려하여 Array.Copy을 사용하는 것입니다.

그러므로 내가 제안 것이다 :

Buffer.BlockCopy(one, 0, complex, 0, size); 
Buffer.BlockCopy(two, 0, complex, size, size); 
Buffer.BlockCopy(three, 0, complex, (size*2), size); 
관련 문제