오프셋에서 하위 문자열을 찾으려면 문자열 오프셋 기반 방법을 선호해야 합니다.

반응형

지정된 오프셋에서 시작하여 지정된 하위 문자열을 찾는 것은 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);
반응형