CultureInfo 클래스
culture 이름, 쓰기 시스템, 사용된 달력, 날짜 형식 지정 및 문자열 정렬 방법 등 특정 culture에 대한 정보를 제공합니다.
네임스페이스: System.Globalization
어셈블리: mscorlib(mscorlib.dll)
구문
‘선언
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public Class CultureInfo
Implements ICloneable, IFormatProvider
‘사용 방법
Dim instance As CultureInfo
[SerializableAttribute]
[ComVisibleAttribute(true)]
public class CultureInfo : ICloneable, IFormatProvider
[SerializableAttribute]
[ComVisibleAttribute(true)]
public ref class CultureInfo : ICloneable, IFormatProvider
/** @attribute SerializableAttribute() */
/** @attribute ComVisibleAttribute(true) */
public class CultureInfo implements ICloneable, IFormatProvider
SerializableAttribute
ComVisibleAttribute(true)
public class CultureInfo implements ICloneable, IFormatProvider
설명
CultureInfo 클래스에는 관련 언어, 보조 언어, 국가/지역, 달력, culture 규칙 등의 culture 관련 정보가 저장되어 있습니다. 또한 이 클래스를 사용하여 DateTimeFormatInfo, NumberFormatInfo, CompareInfo 및 TextInfo의 culture 관련 인스턴스에 액세스할 수도 있습니다. 이러한 개체에는 대/소문자 구분, 날짜와 숫자 형식 지정 및 문자열 비교 같은 culture 관련 작업에 필요한 정보가 들어 있습니다.
String 클래스는 이 클래스를 간접적으로 사용하여 기본 culture에 대한 정보를 얻습니다.
Culture 이름 및 식별자
culture 이름은 "<languagecode2>-<country/regioncode2>" 형식의 RFC 1766 표준을 따릅니다. 여기서 <languagecode2>는 ISO 639-1에서 유래한 두 문자의 소문자 코드이고, <country/regioncode2>는 ISO 3166에서 유래한 두 문자의 대문자 코드입니다. 예를 들어, 미국 영어는 "en-US"입니다. 두 문자로 된 코드를 사용할 수 없는 경우 ISO 639-2에서 파생된 세 문자 코드가 사용됩니다. 예를 들어, 세 문자로 된 코드 "div"는 디베히어를 사용하는 culture에 사용됩니다. 일부 culture 이름에는 스크립트를 나타내는 접미사가 있습니다. 예를 들어, "-Cyrl"은 키릴 스크립트를 나타내고 "-Latn"은 라틴 스크립트를 나타냅니다.
미리 정의된 다음 culture 이름과 식별자는 System.Globalization 네임스페이스에 있는 이 클래스와 다른 클래스에서 사용됩니다.
Culture 이름 |
Culture 식별자 |
언어-국가/지역 |
---|---|---|
""(빈 문자열) |
0x007F |
고정 culture |
af |
0x0036 |
남아공 공용어 |
af-ZA |
0x0436 |
남아공 공용어 - 남아프리카 공화국 |
sq |
0x001C |
알바니아어 |
sq-AL |
0x041C |
알바니아어 - 알바니아 |
ar |
0x0001 |
아랍어 |
ar-DZ |
0x1401 |
아랍어 - 알제리 |
ar-BH |
0x3C01 |
아랍어 - 바레인 |
ar-EG |
0x0C01 |
아랍어 - 이집트 |
ar-IQ |
0x0801 |
아랍어 - 이라크 |
ar-JO |
0x2C01 |
아랍어 - 요르단 |
ar-KW |
0x3401 |
아랍어 - 쿠웨이트 |
ar-LB |
0x3001 |
아랍어 - 레바논 |
ar-LY |
0x1001 |
아랍어 - 리비아 |
ar-MA |
0x1801 |
아랍어 - 모로코 |
ar-OM |
0x2001 |
아랍어 - 오만 |
ar-QA |
0x4001 |
아랍어 - 카타르 |
ar-SA |
0x0401 |
아랍어 - 사우디아라비아 |
ar-SY |
0x2801 |
아랍어 - 시리아 |
ar-TN |
0x1C01 |
아랍어 - 튀니지 |
ar-AE |
0x3801 |
아랍어 - 아랍에미리트 |
ar-YE |
0x2401 |
아랍어 - 예멘 |
hy |
0x002B |
아르메니아어 |
hy-AM |
0x042B |
아르메니아어 - 아르메니아 |
az |
0x002C |
아제리어 |
az-AZ-Cyrl |
0x082C |
아제리어(키릴 자모) - 아제르바이잔 |
az-AZ-Latn |
0x042C |
아제리어(라틴 문자) - 아제르바이잔 |
eu |
0x002D |
바스크어 |
eu-ES |
0x042D |
바스크어 - 바스크 |
be |
0x0023 |
벨로루시어 |
be-BY |
0x0423 |
벨로루시어 - 벨로루시 |
bg |
0x0002 |
불가리아어 |
bg-BG |
0x0402 |
불가리아어 - 불가리아 |
ca |
0x0003 |
카탈로니아어 |
ca-ES |
0x0403 |
카탈로니아어 - 카탈로니아 |
zh-HK |
0x0C04 |
중국어 - 홍콩 특별 행정구 |
zh-MO |
0x1404 |
중국어 - 마카오 특별 행정구 |
zh-CN |
0x0804 |
중국어 - 중국 |
zh-CHS |
0x0004 |
중국어(간체) |
zh-SG |
0x1004 |
중국어 - 싱가포르 |
zh-TW |
0x0404 |
중국어 - 대만 |
zh-CHT |
0x7C04 |
중국어(번체) |
hr |
0x001A |
크로아티아어 |
hr-HR |
0x041A |
크로아티아어 - 크로아티아 |
cs |
0x0005 |
체코어 |
cs-CZ |
0x0405 |
체코어 - 체코 |
da |
0x0006 |
덴마크어 |
da-DK |
0x0406 |
덴마크어 - 덴마크 |
div |
0x0065 |
디베히어 |
div-MV |
0x0465 |
디베히어 -몰디브 |
nl |
0x0013 |
네덜란드어 |
nl-BE |
0x0813 |
네덜란드어 - 벨기에 |
nl-NL |
0x0413 |
네덜란드어 - 네덜란드 |
en |
0x0009 |
영어 |
en-AU |
0x0C09 |
영어 - 오스트레일리아 |
en-BZ |
0x2809 |
영어 - 벨리즈 |
en-CA |
0x1009 |
영어 - 캐나다 |
en-CB |
0x2409 |
영어 - 카리브 해 |
en-IE |
0x1809 |
영어 - 아일랜드 |
en-JM |
0x2009 |
영어 - 자메이카 |
en-NZ |
0x1409 |
영어 - 뉴질랜드 |
en-PH |
0x3409 |
영어 - 필리핀 |
en-ZA |
0x1C09 |
영어 - 남아프리카 공화국 |
en-TT |
0x2C09 |
영어 - 트리니다드 토바고 |
en-GB |
0x0809 |
영어 - 영국 |
en-US |
0x0409 |
영어 - 미국 |
en-ZW |
0x3009 |
영어 - 짐바브웨 |
et |
0x0025 |
에스토니아어 |
et-EE |
0x0425 |
에스토니아어 - 에스토니아 |
fo |
0x0038 |
페로스어 |
fo-FO |
0x0438 |
페로스어 - 페로 제도 |
fa |
0x0029 |
페르시아어 |
fa-IR |
0x0429 |
페르시아어 - 이란 |
fi |
0x000B |
핀란드어 |
fi-FI |
0x040B |
핀란드어 - 핀란드 |
fr |
0x000C |
프랑스어 |
fr-BE |
0x080C |
프랑스어 - 벨기에 |
fr-CA |
0x0C0C |
프랑스어 - 캐나다 |
fr-FR |
0x040C |
프랑스어 - 프랑스 |
fr-LU |
0x140C |
프랑스어 - 룩셈브르크 |
fr-MC |
0x180C |
프랑스어 - 모나코 |
fr-CH |
0x100C |
프랑스어 - 스위스 |
gl |
0x0056 |
갈리시아어 |
gl-ES |
0x0456 |
갈리시아어 - 갈리시아 |
ka |
0x0037 |
그루지야어 |
ka-GE |
0x0437 |
그루지야어 - 그루지야 |
de |
0x0007 |
독일어 |
de-AT |
0x0C07 |
독일어 - 오스트리아 |
de-DE |
0x0407 |
독일어 - 독일 |
de-LI |
0x1407 |
독일어 - 리히텐슈타인 |
de-LU |
0x1007 |
독일어 - 룩셈부르크 |
de-CH |
0x0807 |
독일어 - 스위스 |
el |
0x0008 |
그리스어 |
el-GR |
0x0408 |
그리스어 - 그리스 |
gu |
0x0047 |
구자라트어 |
gu-IN |
0x0447 |
구자라트어 - 인도 |
he |
0x000D |
히브리어 |
he-IL |
0x040D |
히브리어 - 이스라엘 |
hi |
0x0039 |
힌디어 |
hi-IN |
0x0439 |
힌디어 - 인도 |
hu |
0x000E |
헝가리어 |
hu-HU |
0x040E |
헝가리어 - 헝가리 |
is |
0x000F |
아이슬란드어 |
is-IS |
0x040F |
아이슬란드어 - 아이슬란드 |
id |
0x0021 |
인도네시아어 |
id-ID |
0x0421 |
인도네시아어 - 인도네시아 |
it |
0x0010 |
이탈리아어 |
it-IT |
0x0410 |
이탈리아어 - 이탈리아 |
it-CH |
0x0810 |
이탈리아어 - 스위스 |
ja |
0x0011 |
일본어 |
ja-JP |
0x0411 |
일본어 - 일본 |
kn |
0x004B |
카나다어 |
kn-IN |
0x044B |
카나다어 - 인도 |
kk |
0x003F |
카자흐어 |
kk-KZ |
0x043F |
카자흐어 - 카자흐스탄 |
kok |
0x0057 |
콘칸어 |
kok-IN |
0x0457 |
콘칸어 - 인도 |
ko |
0x0012 |
한국어 |
ko-KR |
0x0412 |
한국어 - 한국 |
ky |
0x0040 |
키르기스어 |
ky-KG |
0x0440 |
키르기스어 - 키르기스스탄 |
lv |
0x0026 |
라트비아어 |
lv-LV |
0x0426 |
라트비아어 - 라트비아 |
lt |
0x0027 |
리투아니아어 |
lt-LT |
0x0427 |
리투아니아어 - 리투아니아 |
mk |
0x002F |
마케도니아어 |
mk-MK |
0x042F |
마케도니아어- 마케도니아 |
ms |
0x003E |
말레이어 |
ms-BN |
0x083E |
말레이어 - 브루나이 |
ms-MY |
0x043E |
말레이어 - 말레이시아 |
mr |
0x004E |
마라티어 |
mr-IN |
0x044E |
마라티어 - 인도 |
mn |
0x0050 |
몽골어 |
mn-MN |
0x0450 |
몽골어 - 몽골 |
no |
0x0014 |
노르웨이어 |
nb-NO |
0x0414 |
노르웨이어(복말) - 노르웨이 |
nn-NO |
0x0814 |
노르웨이어(니노르스크) - 노르웨이 |
pl |
0x0015 |
폴란드어 |
pl-PL |
0x0415 |
폴란드어 - 폴란드 |
pt |
0x0016 |
포르투갈어 |
pt-BR |
0x0416 |
포르투갈어 - 브라질 |
pt-PT |
0x0816 |
포르투갈어 - 포르투갈 |
pa |
0x0046 |
펀잡어 |
pa-IN |
0x0446 |
펀잡어 - 인도 |
ro |
0x0018 |
루마니아어 |
ro-RO |
0x0418 |
루마니아어 - 루마니아 |
ru |
0x0019 |
러시아어 |
ru-RU |
0x0419 |
러시아어 - 러시아 |
sa |
0x004F |
산스크리트어 |
sa-IN |
0x044F |
산스크리트어 - 인도 |
sr-SP-Cyrl |
0x0C1A |
세르비아어(키릴 자모) - 세르비아 |
sr-SP-Latn |
0x081A |
세르비아어(라틴 문자) - 세르비아 |
sk |
0x001B |
슬로바키아어 |
sk-SK |
0x041B |
슬로바키아어 - 슬로바키아 |
sl |
0x0024 |
솔로베니아어 |
sl-SI |
0x0424 |
솔로베니아어 - 솔로베니아 |
es |
0x000A |
스페인어 |
es-AR |
0x2C0A |
스페인어 - 아르헨티나 |
es-BO |
0x400A |
스페인어 - 볼리비아 |
es-CL |
0x340A |
스페인어 - 칠레 |
es-CO |
0x240A |
스페인어 - 콜롬비아 |
es-CR |
0x140A |
스페인어 - 코스타리카 |
es-DO |
0x1C0A |
스페인어 - 도미니카 공화국 |
es-EC |
0x300A |
스페인어 - 에콰도르 |
es-SV |
0x440A |
스페인어 - 엘살바도르 |
es-GT |
0x100A |
스페인어 - 과테말라 |
es-HN |
0x480A |
스페인어 - 온두라스 |
es-MX |
0x080A |
스페인어 - 멕시코 |
es-NI |
0x4C0A |
스페인어 - 니카라과 |
es-PA |
0x180A |
스페인어 - 파나마 |
es-PY |
0x3C0A |
스페인어 - 파라과이 |
es-PE |
0x280A |
스페인어 - 페루 |
es-PR |
0x500A |
스페인어 - 푸에르토리코 |
es-ES |
0x0C0A |
스페인어 - 스페인 |
es-UY |
0x380A |
스페인어 - 우루과이 |
es-VE |
0x200A |
스페인어 - 베네수엘라 |
sw |
0x0041 |
스와힐리어 |
sw-KE |
0x0441 |
스와힐리어 - 케냐 |
sv |
0x001D |
스웨덴어 |
sv-FI |
0x081D |
스웨덴어 - 핀란드 |
sv-SE |
0x041D |
스웨덴어 - 스웨덴 |
syr |
0x005A |
시리아어 |
syr-SY |
0x045A |
시리아어 - 시리아 |
ta |
0x0049 |
타밀어 |
ta-IN |
0x0449 |
타밀어 - 인도 |
tt |
0x0044 |
타타르어 |
tt-RU |
0x0444 |
Tatar - Russia |
te |
0x004A |
텔루구어 |
te-IN |
0x044A |
텔루구어 - 인도 |
th |
0x001E |
태국어 |
th-TH |
0x041E |
태국어 - 태국 |
tr |
0x001F |
터키어 |
tr-TR |
0x041F |
터키어 - 터키 |
uk |
0x0022 |
우크라이나어 |
uk-UA |
0x0422 |
우크라이나어 - 우크라이나 |
ur |
0x0020 |
우르두어 |
ur-PK |
0x0420 |
우르두어 - 파키스탄 |
uz |
0x0043 |
우즈베크어 |
uz-UZ-Cyrl |
0x0843 |
우즈베크어(키릴 자모) - 우즈베키스탄 |
uz-UZ-Latn |
0x0443 |
우즈베크어(라틴 문자) - 우즈베키스탄 |
vi |
0x002A |
베트남어 |
vi-VN |
0x042A |
베트남어 - 베트남 |
고정, 중립 및 특정 culture
일반적으로 culture는 고정 culture, 중립 culture 및 특정 culture로 나누어집니다.
고정 culture는 culture를 구분하지 않으므로, 빈 문자열("")을 사용하여 고정 culture를 이름별로 지정하거나 culture 식별자 0x007F별로 지정할 수 있습니다. InvariantCulture는 고정 culture의 인스턴스를 가져옵니다. 이 인스턴스는 영어만 표시하고 국가/지역은 표시하지 않는 인스턴스로, culture를 필요로 하는 Globalization 네임스페이스의 거의 모든 메서드에 사용될 수 있습니다.
중립 culture는 언어만 표시하고 국가/지역은 표시하지 않는 culture이고, 특정 culture는 언어와 국가/지역을 모두 표시하는 culture입니다. 예를 들어, "fr"는 중립 culture이고 "fr-FR"는 특정 culture입니다. "zh-CHS"(중국어 간체)와 "zh-CHT"(중국어 번체)는 모두 중립 culture입니다.
중립 culture의 CompareInfo 클래스에는 임의의 데이터가 포함되므로 이 클래스의 인스턴스는 만들지 않는 것이 좋습니다. 데이터를 표시하고 정렬하려면 언어와 지역을 모두 지정합니다. 또한 중립 culture에 대해 만든 CompareInfo 개체의 Name 속성은 국가만 반환하고 지역은 포함하지 않습니다.
culture에는 특정 culture의 부모가 중립 culture이고 중립 culture의 부모가 InvariantCulture인 계층이 있습니다. Parent 속성은 특정 culture와 관련된 중립 culture를 반환합니다.
특정 culture의 리소스를 시스템에서 사용할 수 없으면 중립 culture의 리소스가 사용됩니다. 중립 culture의 리소스도 사용할 수 없으면 주 어셈블리에 포함된 리소스가 사용됩니다. 리소스 대체 프로세스에 대한 자세한 내용은 리소스 패키징 및 배포를 참조하십시오.
Windows API의 culture 목록은 .NET Framework의 culture 목록과 약간 다릅니다. 예를 들어, culture 식별자가 0x7C04인 중립 culture zh-CHT "중국어(번체)"는 Windows API에서 사용할 수 없습니다. 예를 들어, 플랫폼 호출 메커니즘 등을 통해 Windows와 상호 운용하려면 운영 체제에 정의된 특정 culture를 사용합니다. 이렇게 하면 동일한 LCID로 식별되는 해당 Windows 로캘과의 일관성이 유지됩니다.
중립 culture가 아닌 불변 culture나 특정 culture에 대해서만 DateTimeFormatInfo 또는 NumberFormatInfo를 만들 수 있습니다.
DateTimeFormatInfo.Calendar는 TaiwanCalendar이고 Thread.CurrentCulture는 "zh-TW"가 아니면 DateTimeFormatInfo.NativeCalendarName, DateTimeFormatInfo.GetEraName 및 DateTimeFormatInfo.GetAbbreviatedEraName은 빈 문자열("")을 반환합니다.
Windows 로캘
.NET Framework 버전 2.0부터 CultureInfo 생성자는 culture에 해당하는 Windows 로캘을 사용하여 .NET Framework에 없는 culture를 자동으로 생성할 수 있습니다. 자세한 내용은 Windows 로캘에서 생성된 cultures를 참조하십시오.
제어판 재정의
사용자는 제어판의 국가별 설정 옵션을 사용하여 Windows의 현재 culture와 관련된 일부 값을 재정의할 수 있습니다. 예를 들어, 날짜를 다른 형식으로 표시하거나 해당 culture의 기본 통화 단위가 아닌 다른 통화 단위를 사용할 수 있습니다.
UseUserOverride가 true이고 지정된 culture가 Windows의 현재 culture와 일치하면, CultureInfo는 DateTimeFormat 속성에서 반환하는 DateTimeFormatInfo 인스턴스의 속성 및 NumberFormat 속성에서 반환하는 NumberFormatInfo 인스턴스의 속성에 대한 사용자 설정이 포함된 재정의를 사용합니다. 사용자 설정이 CultureInfo에 연결된 culture와 호환되지 않는 경우(예: 선택한 달력이 OptionalCalendars 중 하나가 아닌 경우) 해당 메서드의 결과와 속성 값은 정의되지 않습니다.
유로화를 사용하는 culture의 경우 .NET Framework와 Windows XP에서는 기본 통화로 유로화가 설정되지만 이전 버전의 Windows에서는 그렇지 않습니다. 따라서 이전 버전의 Windows를 사용하는 경우 제어판의 국가별 옵션이나 국가별 설정을 사용하여 통화 단위를 변경하지 않으면 통화 단위가 잘못될 수도 있습니다. .NET Framework의 기본 통화 설정을 사용하려면 useUserOverride 매개 변수를 취하는 CultureInfo 생성자 오버로드를 사용하고, 해당 매개 변수를 false로 설정합니다.
대체 정렬 순서
"스페인어 - 스페인"의 culture 식별자 "0x0c0a"는 기본 국제 정렬 순서를 사용합니다. 또 다른 "스페인어 - 스페인"의 culture 식별자 "0x040A"는 전통 정렬 순서를 사용합니다. CultureInfo가 "es-ES" culture 이름을 사용하여 생성된 경우 이 새 CultureInfo는 기본 국제 정렬 순서를 사용합니다. 전통 정렬 순서를 사용하는 CultureInfo를 생성하려면 해당 생성자와 함께 culture 식별자 "0x040A"를 사용합니다. 대체 정렬 순서를 따르는 다른 culture에 대한 자세한 내용은 특정 Culture의 데이터 비교 및 정렬을 참조하십시오.
구현된 인터페이스
이 클래스는 CultureInfo 개체를 복제할 수 있는 ICloneable 인터페이스를 구현합니다. 또한 응용 프로그램에 형식 지정 정보를 제공하는 IFormatProvider를 구현합니다.
culture, 스레드 및 응용 프로그램 도메인
CultureInfo 개체와 연결된 스레드를 사용할 때는 특별히 고려해야 할 사항이 있습니다. culture 및 응용 프로그램 도메인에 대한 자세한 내용은 응용 프로그램 도메인과 스레드를 참조하십시오.
항목 | 위치 |
---|---|
방법: ASP.NET 웹 사이트의 리소스 파일 만들기(Visual Studio) | Building ASP .NET Web Applications in Visual Studio |
방법: ASP.NET 웹 사이트의 리소스 파일 만들기(Visual Studio) | Building ASP .NET Web Applications in Visual Studio |
방법: ASP.NET 웹 페이지 전역화를 위한 Culture 및 UI Culture 설정 | Visual Studio에서 ASP .NET 웹 응용 프로그램 빌드 |
방법: 프로그래밍 방식으로 리소스 값 검색 | Visual Studio에서 ASP .NET 웹 응용 프로그램 빌드 |
방법: ASP.NET 웹 사이트의 리소스 파일 만들기(Visual Studio) | Visual Studio에서 ASP .NET 웹 응용 프로그램 빌드 |
방법: 전역화를 위해 HTML 태그를 사용하여 오른쪽에서 왼쪽으로 텍스트 표시 | Visual Studio에서 ASP .NET 웹 응용 프로그램 빌드 |
방법: ASP.NET 웹 페이지 전역화를 위한 Culture 및 UI Culture 설정 | Visual Studio에서 ASP .NET 웹 응용 프로그램 빌드 |
방법: 프로그래밍 방식으로 리소스 값 검색 | Visual Studio에서 ASP .NET 웹 응용 프로그램 빌드 |
방법: ASP.NET 웹 사이트의 리소스 파일 만들기(Visual Studio) | Visual Studio에서 ASP .NET 웹 응용 프로그램 빌드 |
방법: 전역화를 위해 HTML 태그를 사용하여 오른쪽에서 왼쪽으로 텍스트 표시 | Visual Studio에서 ASP .NET 웹 응용 프로그램 빌드 |
방법: ASP.NET 웹 페이지 전역화를 위한 Culture 및 UI Culture 설정 | Building ASP .NET Web Applications |
방법: 프로그래밍 방식으로 리소스 값 검색 | Building ASP .NET Web Applications |
방법: ASP.NET 웹 사이트의 리소스 파일 만들기 | Building ASP .NET Web Applications |
방법: 전역화를 위해 HTML 태그를 사용하여 오른쪽에서 왼쪽으로 텍스트 표시 | Building ASP .NET Web Applications |
예제
다음 코드 예제에서는 "스페인어 - 스페인"에 대해 국제 정렬 순서를 갖는 CultureInfo를 만들고 전통 정렬 순서를 갖는 다른 CultureInfo를 만드는 방법을 보여 줍니다.
Imports System
Imports System.Collections
Imports System.Globalization
Public Class SamplesCultureInfo
Public Shared Sub Main()
' Creates and initializes the CultureInfo which uses the international sort.
Dim myCIintl As New CultureInfo("es-ES", False)
' Creates and initializes the CultureInfo which uses the traditional sort.
Dim myCItrad As New CultureInfo(&H40A, False)
' Displays the properties of each culture.
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "PROPERTY", "INTERNATIONAL", "TRADITIONAL")
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "CompareInfo", myCIintl.CompareInfo, myCItrad.CompareInfo)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "DisplayName", myCIintl.DisplayName, myCItrad.DisplayName)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "EnglishName", myCIintl.EnglishName, myCItrad.EnglishName)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "IsNeutralCulture", myCIintl.IsNeutralCulture, myCItrad.IsNeutralCulture)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "IsReadOnly", myCIintl.IsReadOnly, myCItrad.IsReadOnly)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "LCID", myCIintl.LCID, myCItrad.LCID)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "Name", myCIintl.Name, myCItrad.Name)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "NativeName", myCIintl.NativeName, myCItrad.NativeName)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "Parent", myCIintl.Parent, myCItrad.Parent)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "TextInfo", myCIintl.TextInfo, myCItrad.TextInfo)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "ThreeLetterISOLanguageName", myCIintl.ThreeLetterISOLanguageName, myCItrad.ThreeLetterISOLanguageName)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "ThreeLetterWindowsLanguageName", myCIintl.ThreeLetterWindowsLanguageName, myCItrad.ThreeLetterWindowsLanguageName)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "TwoLetterISOLanguageName", myCIintl.TwoLetterISOLanguageName, myCItrad.TwoLetterISOLanguageName)
Console.WriteLine()
' Compare two strings using myCIintl.
Console.WriteLine("Comparing ""llegar"" and ""lugar""")
Console.WriteLine(" With myCIintl.CompareInfo.Compare: {0}", myCIintl.CompareInfo.Compare("llegar", "lugar"))
Console.WriteLine(" With myCItrad.CompareInfo.Compare: {0}", myCItrad.CompareInfo.Compare("llegar", "lugar"))
End Sub 'Main
End Class 'SamplesCultureInfo
'This code produces the following output.
'
'PROPERTY INTERNATIONAL TRADITIONAL
'CompareInfo CompareInfo - 3082 CompareInfo - 1034
'DisplayName Spanish (Spain) Spanish (Spain)
'EnglishName Spanish (Spain) Spanish (Spain)
'IsNeutralCulture False False
'IsReadOnly False False
'LCID 3082 1034
'Name es-ES es-ES
'NativeName español (España) español (España)
'Parent es es
'TextInfo TextInfo - 3082 TextInfo - 1034
'ThreeLetterISOLanguageName spa spa
'ThreeLetterWindowsLanguageName ESN ESN
'TwoLetterISOLanguageName es es
'
'Comparing "llegar" and "lugar"
' With myCIintl.CompareInfo.Compare: -1
' With myCItrad.CompareInfo.Compare: 1
using System;
using System.Collections;
using System.Globalization;
public class SamplesCultureInfo {
public static void Main() {
// Creates and initializes the CultureInfo which uses the international sort.
CultureInfo myCIintl = new CultureInfo( "es-ES", false );
// Creates and initializes the CultureInfo which uses the traditional sort.
CultureInfo myCItrad = new CultureInfo( 0x040A, false );
// Displays the properties of each culture.
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "PROPERTY", "INTERNATIONAL", "TRADITIONAL" );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "CompareInfo", myCIintl.CompareInfo, myCItrad.CompareInfo );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "DisplayName", myCIintl.DisplayName, myCItrad.DisplayName );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "EnglishName", myCIintl.EnglishName, myCItrad.EnglishName );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "IsNeutralCulture", myCIintl.IsNeutralCulture, myCItrad.IsNeutralCulture );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "IsReadOnly", myCIintl.IsReadOnly, myCItrad.IsReadOnly );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "LCID", myCIintl.LCID, myCItrad.LCID );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "Name", myCIintl.Name, myCItrad.Name );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "NativeName", myCIintl.NativeName, myCItrad.NativeName );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "Parent", myCIintl.Parent, myCItrad.Parent );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "TextInfo", myCIintl.TextInfo, myCItrad.TextInfo );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "ThreeLetterISOLanguageName", myCIintl.ThreeLetterISOLanguageName, myCItrad.ThreeLetterISOLanguageName );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "ThreeLetterWindowsLanguageName", myCIintl.ThreeLetterWindowsLanguageName, myCItrad.ThreeLetterWindowsLanguageName );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "TwoLetterISOLanguageName", myCIintl.TwoLetterISOLanguageName, myCItrad.TwoLetterISOLanguageName );
Console.WriteLine();
// Compare two strings using myCIintl.
Console.WriteLine( "Comparing \"llegar\" and \"lugar\"" );
Console.WriteLine( " With myCIintl.CompareInfo.Compare: {0}", myCIintl.CompareInfo.Compare( "llegar", "lugar" ) );
Console.WriteLine( " With myCItrad.CompareInfo.Compare: {0}", myCItrad.CompareInfo.Compare( "llegar", "lugar" ) );
}
}
/*
This code produces the following output.
PROPERTY INTERNATIONAL TRADITIONAL
CompareInfo CompareInfo - 3082 CompareInfo - 1034
DisplayName Spanish (Spain) Spanish (Spain)
EnglishName Spanish (Spain) Spanish (Spain)
IsNeutralCulture False False
IsReadOnly False False
LCID 3082 1034
Name es-ES es-ES
NativeName español (España) español (España)
Parent es es
TextInfo TextInfo - 3082 TextInfo - 1034
ThreeLetterISOLanguageName spa spa
ThreeLetterWindowsLanguageName ESN ESN
TwoLetterISOLanguageName es es
Comparing "llegar" and "lugar"
With myCIintl.CompareInfo.Compare: -1
With myCItrad.CompareInfo.Compare: 1
*/
using namespace System;
using namespace System::Collections;
using namespace System::Globalization;
int main()
{
// Creates and initializes the CultureInfo which uses the international sort.
CultureInfo^ myCIintl = gcnew CultureInfo( "es-ES",false );
// Creates and initializes the CultureInfo which uses the traditional sort.
CultureInfo^ myCItrad = gcnew CultureInfo( 0x040A,false );
// Displays the properties of each culture.
Console::WriteLine( "{0,-33}{1,-25}{2,-25}", "PROPERTY", "INTERNATIONAL", "TRADITIONAL" );
Console::WriteLine( "{0,-33}{1,-25}{2,-25}", "CompareInfo", myCIintl->CompareInfo, myCItrad->CompareInfo );
Console::WriteLine( "{0,-33}{1,-25}{2,-25}", "DisplayName", myCIintl->DisplayName, myCItrad->DisplayName );
Console::WriteLine( "{0,-33}{1,-25}{2,-25}", "EnglishName", myCIintl->EnglishName, myCItrad->EnglishName );
Console::WriteLine( "{0,-33}{1,-25}{2,-25}", "IsNeutralCulture", myCIintl->IsNeutralCulture, myCItrad->IsNeutralCulture );
Console::WriteLine( "{0,-33}{1,-25}{2,-25}", "IsReadOnly", myCIintl->IsReadOnly, myCItrad->IsReadOnly );
Console::WriteLine( "{0,-33}{1,-25}{2,-25}", "LCID", myCIintl->LCID, myCItrad->LCID );
Console::WriteLine( "{0,-33}{1,-25}{2,-25}", "Name", myCIintl->Name, myCItrad->Name );
Console::WriteLine( "{0,-33}{1,-25}{2,-25}", "NativeName", myCIintl->NativeName, myCItrad->NativeName );
Console::WriteLine( "{0,-33}{1,-25}{2,-25}", "Parent", myCIintl->Parent, myCItrad->Parent );
Console::WriteLine( "{0,-33}{1,-25}{2,-25}", "TextInfo", myCIintl->TextInfo, myCItrad->TextInfo );
Console::WriteLine( "{0,-33}{1,-25}{2,-25}", "ThreeLetterISOLanguageName", myCIintl->ThreeLetterISOLanguageName, myCItrad->ThreeLetterISOLanguageName );
Console::WriteLine( "{0,-33}{1,-25}{2,-25}", "ThreeLetterWindowsLanguageName", myCIintl->ThreeLetterWindowsLanguageName, myCItrad->ThreeLetterWindowsLanguageName );
Console::WriteLine( "{0,-33}{1,-25}{2,-25}", "TwoLetterISOLanguageName", myCIintl->TwoLetterISOLanguageName, myCItrad->TwoLetterISOLanguageName );
Console::WriteLine();
// Compare two strings using myCIintl ->
Console::WriteLine( "Comparing \"llegar\" and \"lugar\"" );
Console::WriteLine( " With myCIintl -> CompareInfo -> Compare: {0}", myCIintl->CompareInfo->Compare( "llegar", "lugar" ) );
Console::WriteLine( " With myCItrad -> CompareInfo -> Compare: {0}", myCItrad->CompareInfo->Compare( "llegar", "lugar" ) );
}
/*
This code produces the following output.
PROPERTY INTERNATIONAL TRADITIONAL
CompareInfo CompareInfo - 3082 CompareInfo - 1034
DisplayName Spanish (Spain) Spanish (Spain)
EnglishName Spanish (Spain) Spanish (Spain)
IsNeutralCulture False False
IsReadOnly False False
LCID 3082 1034
Name es-ES es-ES
NativeName español (España) español (España)
Parent es es
TextInfo TextInfo - 3082 TextInfo - 1034
ThreeLetterISOLanguageName spa spa
ThreeLetterWindowsLanguageName ESN ESN
TwoLetterISOLanguageName es es
Comparing "llegar" and "lugar"
With myCIintl -> CompareInfo -> Compare: -1
With myCItrad -> CompareInfo -> Compare: 1
*/
import System.* ;
import System.Collections.* ;
import System.Globalization.* ;
public class SamplesCultureInfo
{
public static void main(String[] args)
{
// Creates and initializes the CultureInfo which uses the
// international sort.
CultureInfo myCIintl = new CultureInfo("es-ES", false);
// Creates and initializes the CultureInfo which uses the
// traditional sort.
CultureInfo myCItrad = new CultureInfo(0x40A, false);
// Displays the properties of each culture.
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "PROPERTY",
"INTERNATIONAL", "TRADITIONAL");
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "CompareInfo",
myCIintl.get_CompareInfo(), myCItrad.get_CompareInfo());
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "DisplayName",
myCIintl.get_DisplayName(), myCItrad.get_DisplayName());
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "EnglishName",
myCIintl.get_EnglishName(), myCItrad.get_EnglishName());
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "IsNeutralCulture",
System.Convert.ToString(myCIintl.get_IsNeutralCulture()),
System.Convert.ToString(myCItrad.get_IsNeutralCulture()));
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "IsReadOnly",
System.Convert.ToString(myCIintl.get_IsReadOnly()),
System.Convert.ToString(myCItrad.get_IsReadOnly()));
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "LCID",
System.Convert.ToString(myCIintl.get_LCID()),
System.Convert.ToString(myCItrad.get_LCID()));
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "Name",
myCIintl.get_Name(), myCItrad.get_Name());
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "NativeName",
myCIintl.get_NativeName(), myCItrad.get_NativeName());
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "Parent",
myCIintl.get_Parent(), myCItrad.get_Parent());
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "TextInfo",
myCIintl.get_TextInfo(), myCItrad.get_TextInfo());
Console.WriteLine("{0,-33}{1,-25}{2,-25}",
"ThreeLetterISOLanguageName",
myCIintl.get_ThreeLetterISOLanguageName(),
myCItrad.get_ThreeLetterISOLanguageName());
Console.WriteLine("{0,-33}{1,-25}{2,-25}",
"ThreeLetterWindowsLanguageName",
myCIintl.get_ThreeLetterWindowsLanguageName(),
myCItrad.get_ThreeLetterWindowsLanguageName());
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "TwoLetterISOLanguageName",
myCIintl.get_TwoLetterISOLanguageName(),
myCItrad.get_TwoLetterISOLanguageName());
Console.WriteLine();
// Compare two strings using myCIintl.
Console.WriteLine("Comparing \"llegar\" and \"lugar\"");
Console.WriteLine(" With myCIintl.CompareInfo.Compare: {0}",
System.Convert.ToString ( myCIintl.get_CompareInfo().Compare(
"llegar", "lugar")));
Console.WriteLine(" With myCItrad.CompareInfo.Compare: {0}",
System.Convert.ToString ( myCItrad.get_CompareInfo().Compare(
"llegar", "lugar")));
} //main
} //SamplesCultureInfo
/*
This code produces the following output.
PROPERTY INTERNATIONAL TRADITIONAL
CompareInfo CompareInfo - 3082 CompareInfo - 1034
DisplayName Spanish (Spain) Spanish (Spain)
EnglishName Spanish (Spain) Spanish (Spain)
IsNeutralCulture False False
IsReadOnly False False
LCID 3082 1034
Name es-ES es-ES
NativeName espaol (Espaa) espaol (Espaa)
Parent es es
TextInfo TextInfo - 3082 TextInfo - 1034
ThreeLetterISOLanguageName spa spa
ThreeLetterWindowsLanguageName ESN ESN
TwoLetterISOLanguageName es es
Comparing "llegar" and "lugar"
With myCIintl.CompareInfo.Compare: -1
With myCItrad.CompareInfo.Compare: 1
*/
다음 코드 예제에서는 중국어를 사용하는 각 특정 culture의 부모 culture를 확인합니다.
Imports System
Imports System.Globalization
Public Class SamplesCultureInfo
Public Shared Sub Main()
' Prints the header.
Console.WriteLine("SPECIFIC CULTURE PARENT CULTURE")
' Determines the specific cultures that use the Chinese language, and displays the parent culture.
Dim ci As CultureInfo
For Each ci In CultureInfo.GetCultures(CultureTypes.SpecificCultures)
If ci.TwoLetterISOLanguageName = "zh" Then
Console.Write("0x{0} {1} {2,-37}", ci.LCID.ToString("X4"), ci.Name, ci.EnglishName)
Console.WriteLine("0x{0} {1} {2}", ci.Parent.LCID.ToString("X4"), ci.Parent.Name, ci.Parent.EnglishName)
End If
Next ci
End Sub 'Main
End Class 'SamplesCultureInfo
'This code produces the following output.
'
'SPECIFIC CULTURE PARENT CULTURE
'0x0404 zh-TW Chinese (Taiwan) 0x7C04 zh-CHT Chinese (Traditional)
'0x0804 zh-CN Chinese (People's Republic of China) 0x0004 zh-CHS Chinese (Simplified)
'0x0C04 zh-HK Chinese (Hong Kong S.A.R.) 0x7C04 zh-CHT Chinese (Traditional)
'0x1004 zh-SG Chinese (Singapore) 0x0004 zh-CHS Chinese (Simplified)
'0x1404 zh-MO Chinese (Macau S.A.R.) 0x7C04 zh-CHT Chinese (Traditional)
'
using System;
using System.Globalization;
public class SamplesCultureInfo {
public static void Main() {
// Prints the header.
Console.WriteLine( "SPECIFIC CULTURE PARENT CULTURE" );
// Determines the specific cultures that use the Chinese language, and displays the parent culture.
foreach ( CultureInfo ci in CultureInfo.GetCultures( CultureTypes.SpecificCultures ) ) {
if ( ci.TwoLetterISOLanguageName == "zh" ) {
Console.Write( "0x{0} {1} {2,-37}", ci.LCID.ToString("X4"), ci.Name, ci.EnglishName );
Console.WriteLine( "0x{0} {1} {2}", ci.Parent.LCID.ToString("X4"), ci.Parent.Name, ci.Parent.EnglishName );
}
}
}
}
/*
This code produces the following output.
SPECIFIC CULTURE PARENT CULTURE
0x0404 zh-TW Chinese (Taiwan) 0x7C04 zh-CHT Chinese (Traditional)
0x0804 zh-CN Chinese (People's Republic of China) 0x0004 zh-CHS Chinese (Simplified)
0x0C04 zh-HK Chinese (Hong Kong S.A.R.) 0x7C04 zh-CHT Chinese (Traditional)
0x1004 zh-SG Chinese (Singapore) 0x0004 zh-CHS Chinese (Simplified)
0x1404 zh-MO Chinese (Macau S.A.R.) 0x7C04 zh-CHT Chinese (Traditional)
*/
using namespace System;
using namespace System::Globalization;
int main()
{
// Prints the header.
Console::WriteLine( "SPECIFIC CULTURE PARENT CULTURE" );
// Determines the specific cultures that use the Chinese language,
// and displays the parent culture.
System::Collections::IEnumerator^ en = CultureInfo::GetCultures( CultureTypes::SpecificCultures )->GetEnumerator();
while ( en->MoveNext() )
{
CultureInfo^ ci = safe_cast<CultureInfo^>(en->Current);
if ( ci->TwoLetterISOLanguageName->Equals( "zh" ) )
{
Console::Write( "0x{0} {1} {2,-37}", ci->LCID.ToString( "X4" ), ci->Name, ci->EnglishName );
Console::WriteLine( "0x{0} {1} {2}", ci->Parent->LCID.ToString( "X4" ), ci->Parent->Name, ci->Parent->EnglishName );
}
}
}
/*
This code produces the following output.
SPECIFIC CULTURE PARENT CULTURE
0x0404 zh-TW Chinese (Taiwan) 0x7C04 zh-CHT Chinese (Traditional)
0x0804 zh-CN Chinese (People's Republic of China) 0x0004 zh-CHS Chinese (Simplified)
0x0C04 zh-HK Chinese (Hong Kong S.A.R.) 0x7C04 zh-CHT Chinese (Traditional)
0x1004 zh-SG Chinese (Singapore) 0x0004 zh-CHS Chinese (Simplified)
0x1404 zh-MO Chinese (Macao S.A.R.) 0x0004 zh-CHS Chinese (Simplified)
*/
import System.* ;
import System.Globalization.* ;
public class SamplesCultureInfo
{
public static void main(String[] args)
{
// Prints the header.
Console.WriteLine("SPECIFIC CULTURE "
+ " PARENT CULTURE");
// Determines the specific cultures that use the Chinese language,
// and displays the parent culture.
for(int iCtr=0;
iCtr < (CultureInfo.GetCultures(CultureTypes.SpecificCultures).
length); iCtr++) {
CultureInfo ci =
CultureInfo.GetCultures(CultureTypes.SpecificCultures)[iCtr];
if (ci.get_TwoLetterISOLanguageName().equalsIgnoreCase("zh")) {
Console.Write("0x{0} {1} {2,-37}",
((System.Int32 ) ci.get_LCID()).ToString("X4") ,
ci.get_Name(), ci.get_EnglishName());
Console.WriteLine("0x{0} {1} {2}",
((System.Int32 )ci.get_Parent().get_LCID()).ToString("X4"),
ci.get_Parent().get_Name(),
ci.get_Parent().get_EnglishName());
}
}
} //main
} //SamplesCultureInfo
/*
This code produces the following output.
SPECIFIC CULTURE PARENT CULTURE
0x0404 zh-TW Chinese (Taiwan) 0x7C04 zh-CHT Chinese
(Traditional)
0x0804 zh-CN Chinese (People's Republic of China) 0x0004 zh-CHS Chinese
(Simplified)
0x0C04 zh-HK Chinese (Hong Kong S.A.R.) 0x7C04 zh-CHT Chinese
(Traditional)
0x1004 zh-SG Chinese (Singapore) 0x0004 zh-CHS Chinese
(Simplified)
0x1404 zh-MO Chinese (Macau S.A.R.) 0x0004 zh-CHS Chinese
(Simplified)
*/
상속 계층 구조
System.Object
System.Globalization.CultureInfo
스레드로부터의 안전성
이 형식의 모든 public static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.
플랫폼
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.
버전 정보
.NET Framework
2.0, 1.1, 1.0에서 지원
.NET Compact Framework
2.0, 1.0에서 지원