Share via


RegionInfo 클래스

이 문서에서는 이 API에 대한 참조 설명서에 대한 추가 설명서를 제공합니다.

클래스와 CultureInfo 달리 클래스는 RegionInfo 사용자 기본 설정을 나타내지 않으며 사용자의 언어 또는 문화권에 의존하지 않습니다.

RegionInfo 개체와 연결된 이름

개체의 RegionInfo 이름은 국가/지역의 ISO 3166에 정의된 두 글자 코드 중 하나입니다. 대/소문자를 구분하지 않습니다. , TwoLetterISORegionNameThreeLetterISORegionName 속성은 Name대문자로 적절한 코드를 반환합니다. 현재 이름 목록은 RegionInfo ISO 3166: 국가 코드를 참조 하세요.

RegionInfo 개체 인스턴스화

개체를 RegionInfo 인스턴스화하려면 생성자에 미국 "US"와 같은 두 글자 영역 이름 또는 영어(미국)에 대한 "en-US"와 같은 특정 문화권의 이름을 전달 RegionInfo(String) 합니다. 그러나 개체가 완전히 언어 독립적이 아니므로 두 글자 영역 이름 대신 특정 문화권 이름을 RegionInfo 사용하는 것이 좋습니다. 문화권 이름에 따라 여러 RegionInfo 속성(예DisplayName: 및 NativeNameCurrencyNativeName)이 달라집니다.

다음 예제에서는 벨기에를 나타내는 세 개체의 RegionInfo 속성 값 차이를 보여 줍니다. 첫 번째는 지역 이름(BE)에서만 인스턴스화되고, 두 번째와 세 번째는 문화권 이름(프랑스어(fr-BE 벨기에) 및 nl-BE 네덜란드어(벨기에)에서 각각 인스턴스화됩니다. 이 예제에서는 리플렉션을 사용하여 각 RegionInfo 개체의 속성 값을 검색합니다.

using System;
using System.Globalization;
using System.Reflection;

public class Example
{
    public static void Main()
    {
        // Instantiate three Belgian RegionInfo objects.
        RegionInfo BE = new RegionInfo("BE");
        RegionInfo frBE = new RegionInfo("fr-BE");
        RegionInfo nlBE = new RegionInfo("nl-BE");

        RegionInfo[] regions = { BE, frBE, nlBE };
        PropertyInfo[] props = typeof(RegionInfo).GetProperties(BindingFlags.Instance | BindingFlags.Public);

        Console.WriteLine("{0,-30}{1,18}{2,18}{3,18}\n",
                          "RegionInfo Property", "BE", "fr-BE", "nl-BE");
        foreach (var prop in props)
        {
            Console.Write("{0,-30}", prop.Name);
            foreach (var region in regions)
                Console.Write("{0,18}", prop.GetValue(region, null));

            Console.WriteLine();
        }
    }
}
// The example displays the following output:
//    RegionInfo Property                           BE             fr-BE             nl-BE
//
//    Name                                          BE             fr-BE             nl-BE
//    EnglishName                              Belgium           Belgium           Belgium
//    DisplayName                              Belgium           Belgium           Belgium
//    NativeName                                België          Belgique            België
//    TwoLetterISORegionName                        BE                BE                BE
//    ThreeLetterISORegionName                     BEL               BEL               BEL
//    ThreeLetterWindowsRegionName                 BEL               BEL               BEL
//    IsMetric                                    True              True              True
//    GeoId                                         21                21                21
//    CurrencyEnglishName                         Euro              Euro              Euro
//    CurrencyNativeName                          euro              euro              euro
//    CurrencySymbol                                 €                 €                 €
//    ISOCurrencySymbol                            EUR               EUR               EUR

다음과 같은 시나리오에서는 개체를 인스턴스화 RegionInfo 할 때 국가/지역 이름 대신 문화권 이름을 사용합니다.

  • 언어 이름이 중요한 경우. 예를 들어 문화권 이름의 경우 es-US 애플리케이션에 "미국" 대신 "Estados Unidos"가 표시되도록 할 수 있습니다. 국가/지역 이름(US)만 사용하면 언어에 관계없이 "미국"이 생성되므로 문화권 이름을 대신 사용해야 합니다.

  • 스크립트 차이점을 고려해야 하는 경우입니다. 예를 들어 국가/지역은 AZ 이름과 이름이 az-Latn-AZ 있는 아제르바이잔 문화를 다루며 az-Cyrl-AZ, 라틴어 및 키릴 자모 스크립트는 이 국가/지역에서 매우 다를 수 있습니다.

  • 기본 세부 사항의 테넌스가 중요한 경우. 멤버가 반환하는 RegionInfo 값은 문화권 이름 또는 지역 이름을 사용하여 개체를 RegionInfo 인스턴스화했는지 여부에 따라 다를 수 있습니다. 예를 들어 다음 표에서는 "미국" 지역, "en-US" 문화권 및 "es-US" 문화권을 사용하여 개체를 인스턴스화할 때 RegionInfo 반환 값의 차이점을 나열합니다.

    멤버 “미국” "en-US" "es-US"
    CurrencyNativeName US Dollar US Dollar Dólar de EE.UU.
    Name US en-US es-US
    NativeName United States United States Estados Unidos
    ToString US en-US es-US