CultureInfo.GetCultures(CultureTypes) Метод

Определение

Возвращает список поддерживаемых языков и региональных параметров, отфильтрованных указанным CultureTypes параметром.

public:
 static cli::array <System::Globalization::CultureInfo ^> ^ GetCultures(System::Globalization::CultureTypes types);
public static System.Globalization.CultureInfo[] GetCultures(System.Globalization.CultureTypes types);
static member GetCultures : System.Globalization.CultureTypes -> System.Globalization.CultureInfo[]
Public Shared Function GetCultures (types As CultureTypes) As CultureInfo()

Параметры

types
CultureTypes

Побитовая комбинация значений перечисления, которые фильтруют региональные параметры для извлечения.

Возвращаемое значение

Массив, содержащий региональные параметры, заданные параметром types . Массив языков и региональных параметров не отсортирован.

Исключения

types указывает недопустимое сочетание значений CultureTypes .

Примеры

В следующем примере кода отображаются несколько свойств нейтральных языков и региональных параметров.

Замечание

В примере отображаются zh-CHS и zh-CHT региональные параметры с идентификаторами языка и региональных параметров 0x0004 и 0x7C04 соответственно. Однако приложения Windows Vista должны использовать zh-Hans имя вместо zh-CHS имени и zh-Hant имя вместо zh-CHT. Имена zh-Hans и zh-Hant имена представляют текущий стандарт и должны использоваться, если у вас нет причины использования старых имен.

using System;
using System.Globalization;

public class SamplesCultureInfo
{

   public static void Main()
   {

      // Displays several properties of the neutral cultures.
      Console.WriteLine("CULTURE ISO ISO WIN DISPLAYNAME                              ENGLISHNAME");
      foreach (CultureInfo ci in CultureInfo.GetCultures(CultureTypes.NeutralCultures))
      {
         Console.Write("{0,-7}", ci.Name);
         Console.Write(" {0,-3}", ci.TwoLetterISOLanguageName);
         Console.Write(" {0,-3}", ci.ThreeLetterISOLanguageName);
         Console.Write(" {0,-3}", ci.ThreeLetterWindowsLanguageName);
         Console.Write(" {0,-40}", ci.DisplayName);
         Console.WriteLine(" {0,-40}", ci.EnglishName);
      }
   }
}


/*
This code produces the following output.  This output has been cropped for brevity.

CULTURE ISO ISO WIN DISPLAYNAME                              ENGLISHNAME
ar      ar  ara ARA Arabic                                   Arabic
bg      bg  bul BGR Bulgarian                                Bulgarian
ca      ca  cat CAT Catalan                                  Catalan
cs      cs  ces CSY Czech                                    Czech
da      da  dan DAN Danish                                   Danish
de      de  deu DEU German                                   German
el      el  ell ELL Greek                                    Greek
en      en  eng ENU English                                  English
es      es  spa ESP Spanish                                  Spanish
fi      fi  fin FIN Finnish                                  Finnish
zh      zh  zho CHS Chinese                                  Chinese
zh-Hans zh  zho CHS Chinese (Simplified)                     Chinese (Simplified)
zh-Hant zh  zho ZHH Chinese (Traditional)                    Chinese (Traditional)

Note: zh-Hant returns ZHH when using ICU (default). When NLS mode is enabled, it returns CHT.

*/

' Displays several properties of the neutral cultures.
Console.WriteLine("CULTURE ISO ISO WIN DISPLAYNAME                              ENGLISHNAME")
Dim ci As CultureInfo
For Each ci In CultureInfo.GetCultures(CultureTypes.NeutralCultures)
    Console.Write("{0,-7}", ci.Name)
    Console.Write(" {0,-3}", ci.TwoLetterISOLanguageName)
    Console.Write(" {0,-3}", ci.ThreeLetterISOLanguageName)
    Console.Write(" {0,-3}", ci.ThreeLetterWindowsLanguageName)
    Console.Write(" {0,-40}", ci.DisplayName)
    Console.WriteLine(" {0,-40}", ci.EnglishName)
Next ci

'This code produces the following output.  This output has been cropped for brevity.
'
'CULTURE ISO ISO WIN DISPLAYNAME                              ENGLISHNAME
'ar      ar  ara ARA Arabic                                   Arabic
'bg      bg  bul BGR Bulgarian                                Bulgarian
'ca      ca  cat CAT Catalan                                  Catalan
'cs      cs  ces CSY Czech                                    Czech
'da      da  dan DAN Danish                                   Danish
'de      de  deu DEU German                                   German
'el      el  ell ELL Greek                                    Greek
'en      en  eng ENU English                                  English
'es      es  spa ESP Spanish                                  Spanish
'fi      fi  fin FIN Finnish                                  Finnish
'zh      zh  zho CHS Chinese                                  Chinese
'zh-Hans zh  zho CHS Chinese (Simplified)                     Chinese (Simplified)
'zh-Hant zh  zho ZHH Chinese (Traditional)                    Chinese (Traditional)
'
'Note: zh-Hant returns ZHH when using ICU (default). When NLS mode is enabled, it returns CHT.

Комментарии

Метод GetCultures чаще всего вызывается с параметром types , заданным следующими значениями:

  • SpecificCultures— возвращает все определенные региональные параметры.

  • NeutralCultures, который возвращает все нейтральные региональные параметры и инвариантную культуру.

  • AllCultures, который возвращает все нейтральные и определенные региональные параметры, региональные параметры, установленные в системе Windows, и пользовательские региональные параметры, созданные пользователем.

  • UserCustomCulture— возвращает все пользовательские региональные параметры, такие как зарегистрированные классом CultureAndRegionInfoBuilder . В версиях Windows до Windows 10 UserCustomCulture значение применяется ко всем пользовательским языкам и региональным параметрам. Начиная с Windows 10, он применяется к системным культурам, которые не имеют полных культурных данных и не имеют уникального локального идентификатора, как указано LCID значением свойства. В результате код, например следующий, возвращает различные результаты при запуске в Windows 10 и более ранней версии Windows.

    using System;
    using System.Globalization;
    
    public class Example
    {
       public static void Main()
       {
           CultureInfo[] cultures = CultureInfo.GetCultures(CultureTypes.UserCustomCulture |
                                                            CultureTypes.SpecificCultures);
          int ctr = 0;
          foreach (var culture in cultures)
             if ((culture.CultureTypes & CultureTypes.UserCustomCulture) == CultureTypes.UserCustomCulture)
                ctr++;
    
          Console.WriteLine("Number of Specific Custom Cultures: {0}", ctr);
       }
    }
    // If run under Windows 8, the example displays output like the following:
    //      Number of Specific Custom Cultures: 6
    // If run under Windows 10, the example displays output like the following:
    //      Number of Specific Custom Cultures: 279
    
    Dim cultures() As CultureInfo = CultureInfo.GetCultures(CultureTypes.UserCustomCulture Or
                                                           CultureTypes.SpecificCultures)
    Dim ctr As Integer = 0
    For Each culture In cultures
        If (culture.CultureTypes And CultureTypes.UserCustomCulture) = CultureTypes.UserCustomCulture Then
            ctr += 1
        End If
    Next
    Console.WriteLine("Number of Specific Custom Cultures: {0}", ctr)
    
    ' If run under Windows 8, the example displays output like the following:
    '      Number of Specific Custom Cultures: 6
    ' If run under Windows 10, the example displays output like the following:
    '      Number of Specific Custom Cultures: 279
    

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

См. также раздел