문제
나는 다음과 같이 문자열 배열을 만듭니다. 라코 디스
X 부분이있는 배열을 얻으십시오. 요소에서 시작하는 문자열 배열의 복사본을 얻고 싶습니다. 라코 디스
명백한 무차별 대입 방식 (새 배열 만들기 및 문자열 삽입) 외에 C #에서이 작업을 수행하는 더 우아한 방법이 있습니까?
해결책
Array.Copy는 어떻습니까?
http://msdn.microsoft.com/en-us / library / aa310864 (VS.71) .aspx <인용구>
Array.Copy 메서드 (Array, Int32, Array, Int32, Int32)
지정된 소스 인덱스에서 시작하는 Array의 요소 범위를 복사하여 지정된 대상 인덱스에서 시작하는 다른 Array에 붙여 넣습니다.길이와 인덱스는 32 비트 정수로 지정됩니다.
다른 팁
이 질문에 답한 것을 기억하고 방금 원하는 작업을 수행하는 고성능 방법을 제공 할 수있는 새로운 개체에 대해 배웠습니다.
ArraySegment<T>
를 살펴보세요.다음과 같은 작업을 수행 할 수 있습니다.
라코 디스
List<string>(string[])
가 복사 작업을 수행하는 대신 기존 배열을 백업 저장소로 사용하도록 최적화되어 있다고 가정하면 배열 복사를 수행하는 것보다 빠를 수 있습니다.
Array.Copy .필요한 작업을 수행하는 과부하가 있습니다. <인용구>
Array.Copy (Array, Int32, Array,
Int32, Int32)
지정된 소스에서 시작하는 배열의 요소 범위를 복사합니다.
색인을 생성하여 다른 배열에 붙여 넣습니다.
지정된 목적지에서 시작
색인.