> 백엔드 개발 > C++ > C#에서 복제된 하위 배열을 효율적으로 만드는 방법은 무엇입니까?

C#에서 복제된 하위 배열을 효율적으로 만드는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2025-01-18 20:43:39
원래의
149명이 탐색했습니다.

How to Efficiently Create Cloned Subarrays in C#?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿