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
'언어 > C#' 카테고리의 다른 글
[C#] 인터페이스(Interface)란? (0) | 2022.06.16 |
---|---|
[C#] Span이란? (0) | 2022.06.07 |
[C#] 바이트 배열을 int로, int를 바이트 배열로 (0) | 2022.06.04 |
[C#] delegate (델리게이트 / 대리자)와 Invoke (0) | 2022.05.31 |
[C#] 이벤트(event)란? (0) | 2022.05.27 |