다음을 통해 공유


문화에 민감하지 않은 문자열 작업 수행

문화권별 문자열 작업은 문화권별로 사용자에게 결과를 표시하도록 설계된 애플리케이션을 만드는 경우에 유용합니다. 기본적으로 문화권 구분 메서드는 현재 스레드의 CurrentCulture 속성에서 사용할 문화권을 가져옵니다.

때때로 문화 민감성을 고려한 문자열 처리가 원하는 결과가 아닐 때도 있습니다. 결과가 문화권과 독립적이어야 하는 경우 문화권에 민감한 작업을 사용하면 사용자 지정 사례 매핑 및 정렬 규칙이 있는 문화권에서 애플리케이션 코드가 실패할 수 있습니다. 현재 문화권을 사용하는 문자열 비교 섹션을 문자열 사용에 대한 모범 사례에서 참조하세요.

문자열 작업이 문화권을 구분해야 하는지 또는 문화권을 구분하지 않아야 하는지 여부는 애플리케이션에서 결과를 사용하는 방법에 따라 달라집니다. 사용자에게 결과를 표시하는 문자열 작업은 일반적으로 문화에 맞게 조정해야 합니다. 예를 들어 애플리케이션이 목록 상자에 지역화된 문자열의 정렬된 목록을 표시하는 경우 애플리케이션은 문화권 구분 정렬을 수행해야 합니다.

내부적으로 사용되는 문자열 작업의 결과는 일반적으로 문화에 대해 민감하지 않아야 합니다. 일반적으로 애플리케이션이 사용자에게 표시되지 않는 파일 이름, 지속성 형식 또는 기호 정보로 작업하는 경우 문자열 작업의 결과는 문화권에 따라 달라지지 않아야 합니다. 예를 들어 애플리케이션이 문자열을 비교하여 인식된 XML 태그인지 여부를 확인하는 경우 비교는 문화권을 구분하지 않아야 합니다. 또한 보안 결정이 문자열 비교 또는 대/소문자 변경 작업의 결과를 기반으로 하는 경우, 결과가 CurrentCulture값에 영향을 받지 않도록 하기 위해 문화권에 구애받지 않아야 합니다.

기본적으로 문화권 구분 문자열 작업을 수행하는 대부분의 .NET 메서드는 문화권을 구분하지 않는 결과를 보장할 수 있는 오버로드도 제공합니다. 인수를 사용하는 CultureInfo 이러한 오버로드를 사용하면 매핑 및 정렬 규칙의 경우 문화권 변형을 제거할 수 있습니다. 문화권을 구분하지 않는 문자열 작업의 경우 문화권을 .로 CultureInfo.InvariantCulture지정합니다.

이 부분에서는

이 섹션의 문서에서는 기본적으로는 문화권에 따라 달라지는 .NET 메서드를 사용하여 문화권에 영향을 받지 않는 문자열 작업을 수행하는 방법을 보여 줍니다.

문화권을 구분하지 않는 문자열 비교 수행
String.CompareString.CompareTo 메서드를 사용하여 문화에 관계없이 문자열 비교를 수행하는 방법을 설명합니다.

문화권을 구분하지 않는 대소문자 변경 수행
문화권에 영향을 받지 않는 대/소문자 변경을 수행하기 위해 String.ToUpper, String.ToLower, Char.ToUpper, 및 Char.ToLower 메서드를 사용하는 방법을 설명합니다.

컬렉션에서 문화권을 구분하지 않는 문자열 작업 수행
CaseInsensitiveComparer, CaseInsensitiveHashCodeProvider 클래스, SortedList, ArrayList.Sort, CollectionsUtil.CreateCaseInsensitiveHashtable를 사용하여 컬렉션에서 문화권을 구분하지 않는 작업을 수행하는 방법을 설명합니다.

배열에서 문화권을 구분하지 않는 문자열 작업 수행
배열에서 문화권을 구분하지 않는 작업을 수행하기 위해 Array.SortArray.BinarySearch 메서드를 사용하는 방법을 설명합니다.

참고하십시오