-
[C# 8.0] 당신의 Substring() 범위 연산자로 대체되었다..NET/개념 및 유용한 팁 2021. 4. 17. 16:38반응형
인터넷에서 방황하다 C# 배열에 대한 배열에 dot(.)을 두개 써서 배열의 범위 일부를 가져올 수 있는 범위 연산자를 확인하게 되었다. C# 8.0 부터 나온 건데 이제야 알게 되었다.
범위 연산자를 알기 전까지, 문자열의 지정된 index 에서 분해할 단어의 길이만큼 잘라 표현해야할 때 Substring 함수를 사용했었다.
Console.WriteLine("Substring 기존 방식".Substring(0, 9));
그러나 C# 8.0 부터는 아래와 같이 사용할 수도 있다.
Console.WriteLine("Substring_C# 8부터 사용가능한 방식"[0..9]);
문자열 때문에 소스길이가 더 길어보이는데 실질적으론 .Substring(0,9) -> [0..9]가 된것이므로 코드가 줄어든게 맞다.
0번째 index는 무시할 수 있다.
Console.WriteLine("Substring_C# 8부터 사용가능한 방식"[..9]); // 0..9와 같음
주의할 것은 Substring의 두번째 파라메터는 인덱스가 아니라 length인 반면, 범위 연산자는 두 입력 값 모두 index 라는 점이다. 사실 Substring 대체하라고 만들었다기 보단 System.Range를 보다 간편하게 쓰게끔 나온 것이니 상황에 맞게 잘 쓰도록 하자.
docs.microsoft.com/ko-kr/dotnet/csharp/whats-new/csharp-8#indices-and-ranges
반응형'.NET > 개념 및 유용한 팁' 카테고리의 다른 글