C#에서 복제된 하위 배열을 효율적으로 생성
배열 작업을 할 때 기존 배열의 특정 범위 요소를 포함하는 하위 배열을 생성해야 하는 경우가 많습니다. 요소를 수동으로 반복하고 복사하여 이를 수행할 수 있지만 더 효율적이고 깔끔한 방법이 있습니다.
복제된 하위 배열을 생성하려면 확장 방법을 사용할 수 있습니다. 방법은 다음과 같습니다.
<code class="language-csharp">public static T[] SubArray<T>(this T[] data, int index, int length) { T[] result = new T[length]; Array.Copy(data, index, result, 0, length); return result; }</code>
사용방법:
<code class="language-csharp">int[] data = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int[] sub = data.SubArray(3, 4); // 包含 {3, 4, 5, 6}</code>
요소가 복잡한 객체인 복제된 하위 배열의 경우 심층 복사를 위해 직렬화를 사용할 수 있습니다.
<code class="language-csharp">public static T[] SubArrayDeepClone<T>(this T[] data, int index, int length) { T[] arrCopy = new T[length]; Array.Copy(data, index, arrCopy, 0, length); using (MemoryStream ms = new MemoryStream()) { var bf = new BinaryFormatter(); bf.Serialize(ms, arrCopy); ms.Position = 0; return (T[])bf.Deserialize(ms); } }</code>
이 방법을 사용하려면 개체가 직렬화 가능해야 합니다.
위 내용은 C#에서 복제된 하위 배열을 효율적으로 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!