[C#] 배열의 접근법&분할하기
int[] array = new int[9]; array[array.Length - 1] = 30; array[^1] = 30;
배열의 마지막 요소에 접근할 때 Length를 사용한 다음 -1 연산을 쓰는 상당히 멋없는 방법을 썼었는데, C#8.0부터 생긴 System.Index 형식과 ^ 연산자를 사용하면 더 간편하게 접근할 수 있다.
^1는 컬렉션의 마지막 요소, ^2는 마지막에서 두 번째 요소를 말한다.
^ 연산자는 System.Index 형식의 인스턴스로 나타낸다.
System.Index last = ^1; array[last] = 30;
배열을 분할할 때 ArrayCopy()를 사용해 원본 배열을 다른 배열로 복사할 수 있다.
하지만 Systme.Range와 .. 연산자를 사용하면 더 쉽게 배열의 분할이 가능하다.
System.Range range = 0..7; int[] sliced = array[range]; int[] sliced2 = array[0..7];
해당 코드는 array의 0번 요소에서 6번 요소까지를 sliced에 분할한다.
.. 연산자는 System.Range 형식의 인스턴스로 나타낸다.
댓글
댓글 쓰기