다음을 통해 공유


Culture로 정렬

업데이트: 2007년 11월

문자열 정렬은 비교하는 데 사용되는 정렬 규칙, 이에 따른 순서, 문자열 쌍에 따라 결정됩니다. 응용 프로그램에서 비교 작업을 수행할 때 하나 이상의 CompareOptions 열거형 값을 사용하여 정렬 규칙을 명시적으로 설정할 수도 있고 CultureInfo 개체를 사용하여 정렬 규칙을 암시적으로 지정할 수도 있습니다.

.NET Framework에서는 단어, 문자열 및 서수 정렬 규칙을 지원합니다. 단어 정렬에서는 문화권에 따라 문자열을 비교합니다. 문자열에서 특정한 비영숫자 유니코드 문자에는 특별한 가중치가 할당될 수 있습니다. 예를 들어, 하이픈("-")에는 매우 적은 가중치가 할당될 수 있으므로 "coop"와 "co-op"는 정렬된 목록에서 서로 붙어있을 수 있습니다. 문자열 정렬에는 특수한 경우가 없으며 모든 비영숫자 기호가 모든 영숫자 유니코드 문자 전에 나온다는 점을 제외하면 단어 정렬과 비슷합니다. 서수 정렬에서는 문자열에 있는 Char 개체 각각의 숫자 값을 기준으로 문자열을 비교합니다. 단어, 문자열 및 서수 정렬 규칙에 대한 자세한 내용은 CompareOptions를 참조하십시오.

.NET Framework에서는 문자열을 String 클래스로 나타내고 문자열의 각 유니코드 문자를 Char 구조체로 나타냅니다. 문화권은 CultureInfo 클래스로 나타내고 비교와 관련된 문화권 관련 정보는 CompareInfo 클래스로 나타냅니다. StringCompareInfo 클래스는 비교 메서드에 대한 기본 소스입니다. 비교 작업은 특별히 지정된 경우를 제외하고는 현재 스레드와 연결된 문화권을 사용합니다.

문화권의 비교 시기 및 방법

다음 지침에 따라 응용 프로그램에서 문화권을 구분하여 비교할지 여부를 판단하십시오.

  • 응용 프로그램에서 특정 문화권에 따라 정렬해야 하는 경우에는 CultureInfo 개체 또는 CompareOptions 열거형 매개 변수를 지정하는 비교 메서드를 사용해야 합니다.

  • 응용 프로그램에서 특정 문화권을 고려하지 않고 정렬해야 하는 경우에는 고정 문화권을 지정하거나 서수 정렬을 사용해야 합니다. 예를 들어 응용 프로그램에서 서수 비교를 사용하여 파일 이름, 뮤텍스 및 명명된 파이프를 정렬할 수 있습니다. 고정 문화권에 대한 자세한 내용은 InvariantCulture 속성 사용을 참조하십시오. 서수 정렬에 대한 자세한 내용은 정규화 및 정렬을 참조하십시오.

  • 응용 프로그램에서 문자열 정렬에 따라 보안 결정을 내리는 경우 서수 정렬을 사용합니다.

중요:

이전에는 보안 결정을 내리는 데 사용되는 비교 작업에 고정 문화권을 사용하는 방법이 권장되었지만 이제는 응용 프로그램에서 서수 비교를 대신 사용하는 것이 좋습니다.

참고 항목

개념

InvariantCulture 속성 사용

정규화 및 정렬