Array.ConstrainedCopy(Array, Int32, Array, Int32, Int32) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
public:
static void ConstrainedCopy(Array ^ sourceArray, int sourceIndex, Array ^ destinationArray, int destinationIndex, int length);
public static void ConstrainedCopy (Array sourceArray, int sourceIndex, Array destinationArray, int destinationIndex, int length);
static member ConstrainedCopy : Array * int * Array * int * int -> unit
Public Shared Sub ConstrainedCopy (sourceArray As Array, sourceIndex As Integer, destinationArray As Array, destinationIndex As Integer, length As Integer)
매개 변수
- sourceIndex
- Int32
복사가 시작되는 sourceArray
의 인덱스를 나타내는 32비트 정수입니다.
- destinationIndex
- Int32
저장이 시작되는 destinationArray
의 인덱스를 나타내는 32비트 정수입니다.
- length
- Int32
복사할 요소의 개수를 나타내는 32비트 정수입니다.
예외
sourceArray
와 destinationArray
의 차수가 다릅니다.
sourceArray
형식은 동일하지 않으며 destinationArray
형식에서 파생되지 않습니다.
sourceArray
의 하나 이상의 요소를 destinationArray
의 형식으로 캐스팅할 수 없습니다.
sourceIndex
가 sourceArray
의 첫 번째 차원 하한값보다 작습니다.
또는
destinationIndex
가 destinationArray
의 첫 번째 차원 하한값보다 작습니다.
또는
length
가 0보다 작은 경우
length
가 sourceIndex
부터 sourceArray
끝까지의 요소 수보다 큽니다.
또는
length
가 destinationIndex
부터 destinationArray
끝까지의 요소 수보다 큽니다.
설명
sourceArray
및 destinationArray
매개 변수의 차원 수는 같아야 합니다. 형식은 sourceArray
형식과 동일하거나 형식에서 destinationArray
파생되어야 합니다. 그렇지 않으면 throw ArrayTypeMismatchException 됩니다. 달리 Copy, ConstrainedCopy 작업을 수행하기 전에 배열 형식의 호환성을 확인합니다.
다차원 배열 간에 복사할 때 배열은 긴 1차원 배열처럼 동작합니다. 여기서 행(또는 열)은 개념적으로 엔드 투 엔드로 배치됩니다. 예를 들어 배열에 각각 4개의 요소가 있는 3개의 행(또는 열)이 있는 경우 배열의 시작 부분에서 6개의 요소를 복사하면 첫 번째 행(또는 열)의 4개 요소와 두 번째 행(또는 열)의 처음 두 요소가 모두 복사됩니다. 세 번째 행(또는 열)의 두 번째 요소에서 복사를 시작하려면 첫 번째 행(또는 열) sourceIndex
의 상한과 두 번째 행(또는 열)의 길이와 2를 더한 값이어야 합니다.
destinationArray
겹치는 경우 sourceArray
이 메서드는 원래 값을 sourceArray
덮어쓰기 전에 destinationArray
임시 위치에 유지된 것처럼 동작합니다.
[C++]
이 메서드는 표준 C/C++ 함수 memmove
와 동일하며 , 그렇지 않습니다 memcpy
.
배열은 참조 형식 배열 또는 값 형식 배열일 수 있습니다. 참조 형식 배열이거나 destinationArray
둘 다 형식Object의 배열인 경우 sourceArray
단순 복사가 수행됩니다. 단순 복사본 Array 은 원본Array과 동일한 요소에 대한 참조를 포함하는 새 Array 복사본입니다. 요소 자체 또는 요소에서 참조하는 모든 항목은 복사되지 않습니다. 반면, 요소의 Array 전체 복사본은 요소와 요소에서 직접 또는 간접적으로 참조하는 모든 항목을 복사합니다.
이 메서드가 복사하는 동안 예외를 throw하는 destinationArray
경우 변경되지 않은 ConstrainedCopy 상태로 유지되므로 제한된 실행 영역(Cer)에서 사용할 수 있습니다.
이 메서드는 O (n
) 작업, 여기서 n
는 length
합니다.