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 가 1차원 sourceArray의 하한보다 작습니다.
-또는-
destinationIndex 가 1차원 destinationArray의 하한보다 작습니다.
-또는-
length가 0보다 작습니다.
length가 .의 끝에서 끝까지sourceIndex의 요소 sourceArray 수보다 큰 경우
-또는-
length가 .의 끝에서 끝까지destinationIndex의 요소 destinationArray 수보다 큰 경우
설명
sourceArray 및 destinationArray 매개 변수의 차원 수는 같아야 합니다. 형식은 sourceArray 형식과 동일하거나 형식에서 destinationArray 파생되어야 합니다. 그렇지 않으면 ArrayTypeMismatchException throw됩니다. 달리 Copy, ConstrainedCopy 작업을 수행하기 전에 배열 형식의 호환성을 확인합니다.
다차원 배열 간에 복사할 때 배열은 긴 1차원 배열처럼 동작하며, 여기서 행(또는 열)은 개념적으로 엔드 투 엔드로 배치됩니다. 예를 들어 배열에 각각 4개의 요소가 있는 세 개의 행(또는 열)이 있는 경우 배열의 시작 부분에서 6개의 요소를 복사하면 첫 번째 행(또는 열)의 4개 요소와 두 번째 행(또는 열)의 처음 두 요소가 모두 복사됩니다. 세 번째 행(또는 열) sourceIndex 의 두 번째 요소에서 복사를 시작하려면 첫 번째 행(또는 열)의 상한에 두 번째 행(또는 열)의 길이와 2를 더한 값이어야 합니다.
sourceArray 겹치는 경우 destinationArray 이 메서드는 원래 값 sourceArray 이 덮어쓰기 전에 destinationArray 임시 위치에 유지된 것처럼 동작합니다.
[C++]
이 메서드는 표준 C/C++ 함수 memmove와 동일하며 memcpy.
배열은 참조 형식 또는 값 형식 배열일 수 있습니다. 참조 형식 배열이거나 sourceArray 둘 다 형식destinationArray의 배열인 경우 Object 단순 복사가 수행됩니다. 단순 복사본은 원본Array과 동일한 요소에 대한 참조를 포함하는 새 Array 복사본 Array 입니다. 요소 자체 또는 요소에서 참조하는 모든 항목은 복사되지 않습니다. 반면, 전체 복사본은 Array 요소와 요소에서 직접 또는 간접적으로 참조하는 모든 항목을 복사합니다.
이 메서드가 복사하는 동안 예외를 throw하는 destinationArray 경우 변경되지 않은 상태로 유지되므로 ConstrainedCopy 제한된 실행 영역(Cer)에서 사용할 수 있습니다.
이 메서드는 $O(n)$ 작업이며 여기서 $n$입니다 length.