언어/C#

[C#] ArraySegment를 이용하여 배열 가져오기

돌멩이수프 2022. 6. 7. 12:51
728x90

배열 안에 일부를 가져오기 위해서 새로운 배열을 파는 것 말고도 ArraySegment를 사용하는 방법이 있다.

 

static void Main(string[] args)
    {
        int[] arr = { 1, 2, 3, 4, 5 };
        int start = 0;
        int end = 3;

        ArraySegment<int> segment = new ArraySegment<int>(arr, start, end);

        Console.WriteLine(String.Join(", ", segment)); // 배열을 이어붙일 수 있는 간단한 메서드.
    }

 

ArraySegment의 start는 Offset을 의미한다. 그대로 받아들이면 배열의 변화량을 의미하지만 쉽게 이해하기 위해서는 숫자를 가져올 배열의 시작점을 몇 번째로 할 거냐는 의미다. end는 몇 개의 숫자를 빼내올 것이냐는 의미다. 우리는 0번째 인덱스부터 시작해 3개의 값을 가져왔으니 결과값이 1, 2, 3이 된다.

 

이때 String.Join은 배열을 가져오는 메서드다. 쌍따옴표 안에 있는 문자를 각 element 사이에 넣어준다.

728x90