C#에서 두 문자열을 대소문자를 구분하지 않고 비교
C#에서 문자열을 비교할 때 대소문자를 구분하지 않는 비교가 필요한 경우가 많습니다.高效进行此操작곡에 대한 다양한 접근 방식을 살펴보겠습니다.
1. StringComparison.InvariantCultureIgnoreCase(문화 인식)
if (val.Equals("astringvalue", StringComparison.InvariantCultureIgnoreCase))
이 접근 방식은 문화적 측면을 고려하여 비교 시 다양한 문화권에서 대소문자를 구분하지 않도록 합니다. 그러나 일반적으로 문화권을 구분하지 않는 비교보다 속도가 느립니다.
2. 직접 비교를 사용하는 ToLower(문화 구분 없음)
if (val.ToLowerCase() == "astringvalue")
이 접근 방식은 문자열을 명시적으로 소문자로 변환한 다음 직접 비교를 수행합니다. 문화 인식 접근 방식보다 빠르지만 문자열에 문화별 대소문자 구분 규칙의 영향을 받는 문자가 포함된 경우 예기치 않은 결과가 발생할 수 있습니다.
3. StringComparison.OrdinalIgnoreCase와 동일(서수 비교)
if (string.Equals(val, "astringvalue", StringComparison.OrdinalIgnoreCase))
이 접근 방식은 서수(문화권을 구분하지 않음) 대소문자를 구분하지 않는 비교를 수행합니다. 문화 인식 비교보다 훨씬 빠르지만 문화적 대소문자 표기 규칙을 무시합니다.
권장 사항
효율성을 위해 StringComparison.OrdinalIgnoreCase를 사용하세요. 빠르고 안정적으로 대소문자를 구분하지 않는 비교를 제공하기 때문입니다. 그러나 특정 시나리오에 대해 문화권 인식 비교가 필요한 경우 StringComparison.InvariantCultureIgnoreCase를 사용하는 Equals 메서드가 더 적합할 수 있습니다.
위 내용은 C#에서 대/소문자를 구분하지 않고 효율적으로 문자열을 비교하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!