CultureInfo 개체에 연결된 이름
CultureInfo 및 CompareInfo 등의 관련 클래스에는 한 문화권 이름의 여러 가지 변형된 형태가 연결됩니다. 문화권 이름의 처리 방식은 CultureInfo에 사용되는 생성자에 따라 다릅니다. 클래스는 응용 프로그램에서 문화권 이름을 전달하는 생성자 두 개와 식별자가 나타내는 문화권을 처리하는 생성자 두 개를 정의합니다.
문화권 이름을 사용한 문화권 정보 생성 시 이름 처리 방식
CultureInfo 개체를 만들기 위해 문화권 이름을 전달할 때 응용 프로그램에서는 이름을 나타내는 문자열을 사용하는 두 생성자 중 하나를 사용할 수 있습니다. 다음 문자열이 전달되는 경우를 예로 들어 보겠습니다.
영어(미국)의 경우 "en-US"를 전달합니다.
대체 정렬인 전화 번호부 정렬을 사용하는 독일어(독일)의 경우 "de-DE_phoneb"를 전달합니다.
문자열 비교에 "en-US" 정렬 순서를 사용하는 사용자 지정 문화권의 경우 "fj-FJ"를 전달합니다.
다음 표에서는 문자열 기반 CultureInfo 생성자 중 하나를 통해 처리되는 문화권 이름 및 관련 프로그래밍 요소를 보여 줍니다.
요소 |
en-US |
de-DE_phoneb |
사용자 지정 문화권 |
---|---|---|---|
CultureInfo 생성자 |
en-US |
de-DE_phoneb |
fj-FJ |
CultureInfo.ToString |
en-US |
de-DE_phoneb |
fj-FJ |
CultureInfo.Name |
en-US |
de-DE |
fj-FJ |
TextInfo.CultureName |
en-US |
de-DE |
fj-FJ |
CompareInfo.Name |
en-US |
de-DE_phoneb |
en-US |
CultureInfo.ToString은 항상 생성자에 전달된 값을 그대로 반환하지만 대/소문자를 "정규화"합니다. 예를 들어 응용 프로그램에서 생성자에 "En-Us"를 전달하면 ToString에서 "en-US"를 반환합니다. CultureInfo.Name은 항상 대체 정렬 방식이 제외된 "짧은" 형식의 이름을 지정합니다(예: "de-DE_phoneb" 대신 "de-DE" 지정).
TextInfo.CultureName은 항상 CultureInfo.Name과 동일합니다. 마지막으로 CompareInfo.Name은 정렬 이름을 지정합니다. 이는 해당 이름이 문화권 자체의 이름과 전혀 관계가 없는 경우에도 마찬가지입니다.
문화권 식별자를 사용한 문화권 정보 생성 시 이름 처리 방식
응용 프로그램에서 문화권 식별자를 전달하여 CultureInfo 개체를 만들 수도 있습니다. 이 경우 응용 프로그램에서는 식별자 값을 사용하는 생성자 중 하나를 사용할 수 있습니다. 문화권 식별자가 생성자에 전달되는 경우를 예로 들어 보겠습니다.
영어(미국)의 경우 0x0409를 전달합니다.
전화 번호부 정렬을 사용하는 독일어(독일)의 경우 0x10407을 전달합니다.
사용자 지정 문화권 "fj-FJ"의 경우 0x0c00를 전달합니다. "fj-FJ"는 현재 기본 사용자 문화권이어야 하며 이 사용자 지정 문화권은 문자열 비교에 "en-US" 정렬 순서를 사용해야 합니다.
다음 표에서는 식별자 기반 CultureInfo 생성자 중 하나에서 처리하는 문화권 이름 및 관련 프로그래밍 요소를 보여 줍니다. 이름은 이전 예제와 정확히 같습니다.
요소 |
en-US |
de-DE_phoneb |
사용자 지정 문화권 |
---|---|---|---|
CultureInfo 생성자 |
0x0409 |
0x0407 |
0x0C00 |
CultureInfo.ToString |
en-US |
de-DE_phoneb |
fj-FJ |
CultureInfo.Name |
en-US |
de-DE |
fj-FJ |
TextInfo.CultureName |
en-US |
de-DE |
fj-FJ |
CompareInfo.Name |
en-US |
de-DE_phoneb |
en-US |