Notice
Recent Posts
Recent Comments
NeuroWhAI의 잡블로그
[C#] Index, Range 구조체와 hat('^') 연산자 본문
C# 8에 더 고급스러운 인덱서 사용을 위해 Index, Range 구조체와 새로운 문법을 지원한다고 하네요.
온라인 컴파일러 중에서는 아직 지원하는 걸 못찾아서 예제를 돌려보진 않았습니다 ㅠㅠ
int[] arr = { 1, 2, 3, 4 };
var lastIndex = new Index(1, true);
int lastNum = arr[lastIndex]; // 4
lastNum = arr[^1]; // 위 코드와 동일
int[] arr = { 1, 2, 3, 4 };
Range range = 1..^1;
var sub = arr[range]; // [2, 3]
sub = arr[1..^1]; // 위 코드와 동일
var sub2 = arr[1..]; // [2, 3, 4]
var sub3 = arr[..3]; // [1, 2, 3]
var sub4 = arr[..]; // [1, 2, 3, 4]
string s = "Hello, World!"[..^8]; // "Hello"
뭐... 완전히 파이썬의 그것과 똑같네요.
그나저나 Range를 사용해서 얻은 반환값이 뭔질 모르겠네요.
새로운 배열? 아니면 다른 언어의 슬라이스 같은 무언가..?
공식 문서 설명을 보면 슬라이스 같기는 한데...
'개발 및 공부 > 언어' 카테고리의 다른 글
[Rust] Async 공부... (0) | 2019.08.08 |
---|---|
[C++] ref-qualified member functions : 값의 종류에 따라 메소드 오버로딩하기 (0) | 2019.02.22 |
[Rust] AsRef와 Borrow trait의 차이 (0) | 2019.01.23 |
[Rust] 패턴 매칭 바인딩 모드(Binding Modes) 설명 (0) | 2019.01.20 |
[Rust] panic 감지하여 잡기(catch) (0) | 2019.01.13 |
Comments