반응형
지정된 오프셋에서 시작하여 지정된 하위 문자열을 찾는 것은 str.Substring(startIndex).IndexOf(char1) 코드를 사용하여 수행할 수 있습니다. 이는 잘 작동하지만 Substring 메서드를 호출할 때마다 새 문자열을 생성합니다. 이 작업이 루프에서 수행되면 많은 문자열이 아무 것도 없이 생성되므로 str이 큰 경우 성능 문제가 발생할 수 있습니다.
성능 문제를 방지하려면 string.Substring(startIndex)를 다음 메서드와 연결하면 안 됩니다.
- 인덱스의
- IndexOfAny
- 마지막 인덱스
- LastIndexOfAny
이러한 각 방법에 대해 추가 매개변수가 있는 다른 방법을 사용하여 오프셋을 지정할 수 있습니다.
이러한 메서드를 사용하면 추가 String 인스턴스 생성을 피하면서 동일한 결과를 얻을 수 있습니다.
나쁜 예:
str.Substring(StartIndex).IndexOf(char1); // Noncompliant; a new string is going to be created by "Substring"
좋은 예:
str.IndexOf(char1, startIndex);
반응형