RegionInfo Класс

Определение

Содержит сведения о стране или регионе.Contains information about the country/region.

public ref class RegionInfo
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class RegionInfo
type RegionInfo = class
Public Class RegionInfo
Наследование
RegionInfo
Атрибуты

Примеры

В следующем примере показаны несколько членов класса RegionInfo.The following example demonstrates several members of the RegionInfo class.

using namespace System;
using namespace System::Globalization;
int main()
{
   
   // Displays the property values of the RegionInfo for "US".
   RegionInfo^ myRI1 = gcnew RegionInfo( "US" );
   Console::WriteLine( "   Name:                         {0}", myRI1->Name );
   Console::WriteLine( "   DisplayName:                  {0}", myRI1->DisplayName );
   Console::WriteLine( "   EnglishName:                  {0}", myRI1->EnglishName );
   Console::WriteLine( "   IsMetric:                     {0}", myRI1->IsMetric );
   Console::WriteLine( "   ThreeLetterISORegionName:     {0}", myRI1->ThreeLetterISORegionName );
   Console::WriteLine( "   ThreeLetterWindowsRegionName: {0}", myRI1->ThreeLetterWindowsRegionName );
   Console::WriteLine( "   TwoLetterISORegionName:       {0}", myRI1->TwoLetterISORegionName );
   Console::WriteLine( "   CurrencySymbol:               {0}", myRI1->CurrencySymbol );
   Console::WriteLine( "   ISOCurrencySymbol:            {0}", myRI1->ISOCurrencySymbol );
   Console::WriteLine();
   
   // Compares the RegionInfo above with another RegionInfo created using CultureInfo.
   RegionInfo^ myRI2 = gcnew RegionInfo( (gcnew CultureInfo( "en-US",false ))->LCID );
   if ( myRI1->Equals( myRI2 ) )
      Console::WriteLine( "The two RegionInfo instances are equal." );
   else
      Console::WriteLine( "The two RegionInfo instances are NOT equal." );
}

/*
This code produces the following output.

   Name:                         US
   DisplayName:                  United States
   EnglishName:                  United States
   IsMetric:                     False
   ThreeLetterISORegionName:     USA
   ThreeLetterWindowsRegionName: USA
   TwoLetterISORegionName:       US
   CurrencySymbol:               $
   ISOCurrencySymbol:            USD

The two RegionInfo instances are equal.

*/
using System;
using System.Globalization;

public class SamplesRegionInfo  {

   public static void Main()  {

      // Displays the property values of the RegionInfo for "US".
      RegionInfo myRI1 = new RegionInfo( "US" );
      Console.WriteLine( "   Name:                         {0}", myRI1.Name );
      Console.WriteLine( "   DisplayName:                  {0}", myRI1.DisplayName );
      Console.WriteLine( "   EnglishName:                  {0}", myRI1.EnglishName );
      Console.WriteLine( "   IsMetric:                     {0}", myRI1.IsMetric );
      Console.WriteLine( "   ThreeLetterISORegionName:     {0}", myRI1.ThreeLetterISORegionName );
      Console.WriteLine( "   ThreeLetterWindowsRegionName: {0}", myRI1.ThreeLetterWindowsRegionName );
      Console.WriteLine( "   TwoLetterISORegionName:       {0}", myRI1.TwoLetterISORegionName );
      Console.WriteLine( "   CurrencySymbol:               {0}", myRI1.CurrencySymbol );
      Console.WriteLine( "   ISOCurrencySymbol:            {0}", myRI1.ISOCurrencySymbol );
      Console.WriteLine();

      // Compares the RegionInfo above with another RegionInfo created using CultureInfo.
      RegionInfo myRI2 = new RegionInfo( new CultureInfo("en-US",false).LCID );
      if ( myRI1.Equals( myRI2 ) )
         Console.WriteLine( "The two RegionInfo instances are equal." );
      else
         Console.WriteLine( "The two RegionInfo instances are NOT equal." );

   }

}

/*
This code produces the following output.

   Name:                         US
   DisplayName:                  United States
   EnglishName:                  United States
   IsMetric:                     False
   ThreeLetterISORegionName:     USA
   ThreeLetterWindowsRegionName: USA
   TwoLetterISORegionName:       US
   CurrencySymbol:               $
   ISOCurrencySymbol:            USD

The two RegionInfo instances are equal.

*/
Imports System.Globalization


Public Class SamplesRegionInfo   

   Public Shared Sub Main()

      ' Displays the property values of the RegionInfo for "US".
      Dim myRI1 As New RegionInfo("US")
      Console.WriteLine("   Name:                         {0}", myRI1.Name)
      Console.WriteLine("   DisplayName:                  {0}", myRI1.DisplayName)
      Console.WriteLine("   EnglishName:                  {0}", myRI1.EnglishName)
      Console.WriteLine("   IsMetric:                     {0}", myRI1.IsMetric)
      Console.WriteLine("   ThreeLetterISORegionName:     {0}", myRI1.ThreeLetterISORegionName)
      Console.WriteLine("   ThreeLetterWindowsRegionName: {0}", myRI1.ThreeLetterWindowsRegionName)
      Console.WriteLine("   TwoLetterISORegionName:       {0}", myRI1.TwoLetterISORegionName)
      Console.WriteLine("   CurrencySymbol:               {0}", myRI1.CurrencySymbol)
      Console.WriteLine("   ISOCurrencySymbol:            {0}", myRI1.ISOCurrencySymbol)
      Console.WriteLine()

      ' Compares the RegionInfo above with another RegionInfo created using CultureInfo.
      Dim myRI2 As New RegionInfo(New CultureInfo("en-US", False).LCID)
      If myRI1.Equals(myRI2) Then
         Console.WriteLine("The two RegionInfo instances are equal.")
      Else
         Console.WriteLine("The two RegionInfo instances are NOT equal.")
      End If 

   End Sub

End Class


'This code produces the following output.

'

'   Name:                         US

'   DisplayName:                  United States

'   EnglishName:                  United States

'   IsMetric:                     False

'   ThreeLetterISORegionName:     USA

'   ThreeLetterWindowsRegionName: USA

'   TwoLetterISORegionName:       US

'   CurrencySymbol:               $

'   ISOCurrencySymbol:            USD

'

'The two RegionInfo instances are equal.


Комментарии

В отличие от класса CultureInfo, класс RegionInfo не представляет пользовательских настроек и не зависит от языка или языка и региональных параметров пользователя.Unlike the CultureInfo class, the RegionInfo class does not represent user preferences and does not depend on the user's language or culture.

Имена, связанные с объектом RegionInfoNames Associated with a RegionInfo Object

Имя объекта RegionInfo — это один из двух буквенных кодов, определенных в ISO 3166 для страны или региона.The name of a RegionInfo object is one of the two-letter codes defined in ISO 3166 for country/region. Регистр не важен.Case is not significant. Свойства Name, TwoLetterISORegionNameи ThreeLetterISORegionName возвращают соответствующие коды в верхнем регистре.The Name, TwoLetterISORegionName, and ThreeLetterISORegionName properties return the appropriate codes in uppercase. Текущий список имен RegionInfo см. в разделе английские названия стран и элементы кода на веб-сайте ISO.For the current list of RegionInfo names, see English country names and code elements on the ISO website.

Создание экземпляра объекта RegionInfoInstantiating a RegionInfo Object

Чтобы создать экземпляр RegionInfo объекта, необходимо передать конструктор RegionInfo(String) либо имя в виде двух букв, например "US" для США, либо имя определенного языка и региональных параметров, например "en-US" для английского языка (США).To instantiate a RegionInfo object, you pass the RegionInfo(String) constructor either a two-letter region name, such as "US" for the United States, or the name of a specific culture, such as "en-US" for English (United States). Однако рекомендуется использовать конкретное имя языка и региональных параметров вместо имени региона из двух букв, так как объект RegionInfo не полностью зависит от языка.However, we recommend that you use a specific culture name instead of a two-letter region name, because a RegionInfo object is not completely language-independent. Некоторые свойства RegionInfo, в том числе DisplayName, NativeNameи CurrencyNativeName, зависят от имен языков и региональных параметров.Several RegionInfo properties, including DisplayName, NativeName, and CurrencyNativeName, depend on culture names.

В следующем примере показано различие в RegionInfo значений свойств для трех объектов, представляющих Бельгии.The following example illustrates the difference in RegionInfo property values for three objects that represent Belgium. Первый экземпляр создается только из имени региона (быть), а второй и третий создаются из имен языков и региональных параметров (fr — обязательно для французского языка (Бельгия) и NL — для нидерландского языка (Бельгия) соответственно).The first is instantiated from a region name (BE) only, while the second and third are instantiated from culture names (fr-BE for French (Belgium) and nl-BE for Dutch (Belgium), respectively). В примере отражение используется для получения значений свойств каждого объекта RegionInfo.The example uses reflection to retrieve the property values of each RegionInfo object.

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
Imports System.Globalization
Imports System.Reflection

Module Example
   Public Sub Main()
      ' Instantiate three Belgian RegionInfo objects.
      Dim BE As New RegionInfo("BE")
      Dim frBE As New RegionInfo("fr-BE")
      Dim nlBE As New RegionInfo("nl-BE")

      Dim regions() As RegionInfo = { BE, frBE, nlBE }
      Dim props() As PropertyInfo = GetType(RegionInfo).GetProperties(BindingFlags.Instance Or BindingFlags.Public)
      
      Console.WriteLine("{0,-30}{1,18}{2,18}{3,18}", 
                        "RegionInfo Property", "BE", "fr-BE", "nl-BE")
      Console.WriteLine()
      For Each prop As PropertyInfo In props
         Console.Write("{0,-30}", prop.Name)
         For Each region In regions
            Console.Write("{0,18}", prop.GetValue(region, Nothing))
         Next
         Console.WriteLine()
      Next
   End Sub
End Module
' 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:In scenarios such as the following, use culture names instead of country/region names when you instantiate a RegionInfo object:

  • Когда имя языка имеет основную важность.When the language name is of primary importance. Например, для имени культуры es-US может потребоваться, чтобы в приложении отображалось «Естадос унидос» вместо «США».For example, for the es-US culture name, you'll probably want your application to display "Estados Unidos" instead of "United States". Использование только имени страны или региона (US) дает «США» независимо от языка, поэтому следует работать с именем языка и региональных параметров.Using the country/region name (US) alone yields "United States" regardless of the language, so you should work with the culture name instead.

  • При необходимости учитывать различия в скриптах.When script differences must be considered. Например, страна или регион AZ работает с языками и региональными параметрами азербайджанский, которые имеют имена AZ-ЛАТН-AZ и AZ-Цирл-AZ, а латиница и кириллица могут быть очень разными для этой страны или региона.For example, the country/region AZ deals with Azerbaijani cultures that have the names az-Latn-AZ and az-Cyrl-AZ, and the Latin and Cyrillic scripts can be very different for this country/region.

  • Когда важно обслуживание подробностей.When maintenance of detail is important. Значения, возвращаемые RegionInfoными элементами, могут различаться в зависимости от того, был ли создан экземпляр объекта RegionInfo с помощью имени языка и региональных параметров или имени региона.The values returned by RegionInfo members can differ depending on whether the RegionInfo object was instantiated by using a culture name or a region name. Например, в следующей таблице перечислены различия в возвращаемых значениях при создании объекта RegionInfo с помощью региона "US", языка и региональных параметров "en-US", а также языка и региональных параметров "es-US".For example, the following table lists the differences in return values when a RegionInfo object is instantiated by using the "US" region, the "en-US" culture, and the "es-US" culture.

    ЧленMember СОВМЕСТ"US" EN-US"en-US" "es-US""es-US"
    CurrencyNativeName Доллар СШАUS Dollar Доллар СШАUS Dollar Дóлар де EE. УУ.Dólar de EE.UU.
    Name USUS en-USen-US es-USes-US
    NativeName Соединенные ШтатыUnited States Соединенные ШтатыUnited States Естадос унидосEstados Unidos
    ToString USUS en-USen-US es-USes-US

Конструкторы

RegionInfo(Int32)

Инициализирует новый экземпляр класса RegionInfo, на основе страны или региона, которые связаны с заданным идентификатором языка и региональных параметров.Initializes a new instance of the RegionInfo class based on the country/region associated with the specified culture identifier.

RegionInfo(String)

Инициализирует новый экземпляр класса RegionInfo, основанный на стране или регионе или определенном языке и региональных параметрах, указанных по имени.Initializes a new instance of the RegionInfo class based on the country/region or specific culture, specified by name.

Свойства

CurrencyEnglishName

Возвращает имя денежной единицы, используемой в стране или регионе, на английском языке.Gets the name, in English, of the currency used in the country/region.

CurrencyNativeName

Получает имя денежной единицы, используемой в стране или регионе, отформатированное в соответствии с родным языком страны или региона.Gets the name of the currency used in the country/region, formatted in the native language of the country/region.

CurrencySymbol

Возвращает символ денежной единицы, связанной со страной или регионом.Gets the currency symbol associated with the country/region.

CurrentRegion

Возвращает объект RegionInfo, представляющий страну/регион, используемые текущим потоком.Gets the RegionInfo that represents the country/region used by the current thread.

DisplayName

Возвращает полное имя страны или региона на языке локализованной версии .NET Framework.Gets the full name of the country/region in the language of the localized version of .NET Framework.

EnglishName

Возвращает полное имя страны или региона на английском языке.Gets the full name of the country/region in English.

GeoId

Получает уникальный номер идентификации географического региона, страны, города или местности.Gets a unique identification number for a geographical region, country, city, or location.

IsMetric

Возвращает значение, указывающее, использует ли страна или регион метрическую систему.Gets a value indicating whether the country/region uses the metric system for measurements.

ISOCurrencySymbol

Возвращает трехзначный символ денежной единицы в формате ISO 4217, связанный со страной или регионом.Gets the three-character ISO 4217 currency symbol associated with the country/region.

Name

Возвращает или задает имя или двухбуквенный код страны или региона в формате ISO 639-1 для текущего объекта RegionInfo.Gets the name or ISO 3166 two-letter country/region code for the current RegionInfo object.

NativeName

Получает название страны или региона, отформатированное в соответствии с родным языком страны или региона.Gets the name of a country/region formatted in the native language of the country/region.

ThreeLetterISORegionName

Возвращает код из трех букв, определенный в формате ISO 3166 для страны или региона.Gets the three-letter code defined in ISO 3166 for the country/region.

ThreeLetterWindowsRegionName

Возвращает код из трех букв, присвоенный операционной системой Windows стране/региону, представленный этим RegionInfo.Gets the three-letter code assigned by Windows to the country/region represented by this RegionInfo.

TwoLetterISORegionName

Возвращает код из двух букв, определенный в формате ISO 3166 для страны или региона.Gets the two-letter code defined in ISO 3166 for the country/region.

Методы

Equals(Object)

Определяет, является ли заданный объект тем же экземпляром, что и текущий RegionInfo.Determines whether the specified object is the same instance as the current RegionInfo.

GetHashCode()

Служит хэш-функцией текущего класса RegionInfo для использования в алгоритмах и структурах данных хеширования, например в хэш-таблице.Serves as a hash function for the current RegionInfo, suitable for hashing algorithms and data structures, such as a hash table.

GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
ToString()

Возвращает строку, содержащую имя языка и региональных параметров или двухбуквенные коды, определенные в формате ISO 3166, для текущего RegionInfo.Returns a string containing the culture name or ISO 3166 two-letter country/region codes specified for the current RegionInfo.

Применяется к

Дополнительно