.NET에서 대소문자를 구분하지 않는 문자열 비교
대소문자를 구분하지 않는 문자열 비교를 수행하는 것은 많은 프로그래밍 작업에서 매우 중요합니다. 이 기사에서는 이 문제를 효율적으로 처리하는 방법을 살펴보겠습니다.
목표는 다음 코드 줄에서 대소문자를 무시하도록 만드는 것입니다.
<code>drUser["Enrolled"] = (enrolledUsers.FindIndex(x => x.Username == (string)drUser["Username"]) != -1);</code>
Equals
방법과 StringComparison.OrdinalIgnoreCase
을 사용하면 작동하는 것 같습니다.
<code>x.Username.Equals((string)drUser["Username"], StringComparison.OrdinalIgnoreCase)));</code>
그러나 FindIndex
표현식 내에서 이 방법을 사용하면 예상한 결과가 생성되지 않습니다.
가장 큰 문제는 x.Username.Equals
의 사용입니다. 이 메서드는 내부적으로 대소문자를 구분하지 않는 비교를 처리하지만 일치하는 요소의 인덱스를 반환하지 않습니다.
.NET 대소문자 구분 문자열 비교 모범 사례
.NET에서 대소문자를 구분하지 않는 문자열 비교를 올바르게 수행하려면 String.Compare
메서드와 StringComparison.OrdinalIgnoreCase
:
<code>String.Compare(x.Username, (string)drUser["Username"], StringComparison.OrdinalIgnoreCase) == 0</code>
또는 String.Equals
메서드와 StringComparison.OrdinalIgnoreCase
플래그를 사용할 수 있습니다.
<code>String.Equals(x.Username, (string)drUser["Username"], StringComparison.OrdinalIgnoreCase)</code>
MSDN에서는 문자열 동일성을 테스트하고 문자열을 정렬하는 데 각각 다음 방법을 권장합니다.
위 내용은 .NET에서 대/소문자를 구분하지 않는 문자열 비교를 효율적으로 수행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!