C# 배열 연결 성능 향상 : concat의 우수한 대안
c#의 concat
메소드는 배열 결합을위한 간단한 솔루션을 제공합니다. 그러나 큰 배열을 다룰 때는 성능이 차선 될 수 있습니다. 배열 연결의 효율성을 크게 향상시키기 위해이 대안을 고려하십시오 :
int[] x = new int[] { 1, 2, 3 };
int[] y = new int[] { 4, 5 };
int[] z = new int[x.Length y.Length];
Array.Copy(x, z, x.Length);
Array.Copy(y, 0, z, x.Length, y.Length);
Debug.Assert(z.SequenceEqual(new int[] { 1, 2, 3, 4, 5 }));
이 메소드는 x
x y
를 모두 유지하기에 충분한 크기의 새로운 배열 z
를 직접 할당합니다. 그런 다음 array.copy
를 활용하여 x
및 y
의 요소를 z
로 효율적으로 전송합니다. 이것은 중간 배열의 생성을 피하며, 특히 더 큰 데이터 세트에서 더 빠른 실행을 초래합니다.
중요한 고려 사항 : concat
는 성능이 중요하지 않은 작은 배열에 적합하지만 위의 접근 방식은 큰 배열과 관련된 시나리오에 대한 실질적인 성능 이점을 제공합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3