CultureInfo.CreateSpecificCulture(String) Метод
Определение
Создает объект CultureInfo, который представляет определенный язык и региональные параметры, соответствующие заданному имени.Creates a CultureInfo that represents the specific culture that is associated with the specified name.
public:
static System::Globalization::CultureInfo ^ CreateSpecificCulture(System::String ^ name);
public static System.Globalization.CultureInfo CreateSpecificCulture (string name);
static member CreateSpecificCulture : string -> System.Globalization.CultureInfo
Public Shared Function CreateSpecificCulture (name As String) As CultureInfo
Параметры
- name
- String
Предварительно определенное имя CultureInfo или имя существующего объекта CultureInfo.A predefined CultureInfo name or the name of an existing CultureInfo object. name
не учитывает регистр.name
is not case-sensitive.
Возвраты
Объект CultureInfo, который может представлять перечисленные ниже параметры.A CultureInfo object that represents:
Инвариантный язык и региональные параметры, если name
является пустой строкой ("").The invariant culture, if name
is an empty string ("").
- или --or-
определенный язык и региональные параметры, связанные с name
, если name
является нейтральным языком и региональными параметрами.The specific culture associated with name
, if name
is a neutral culture.
- или --or-
язык и региональные параметры, указанные в параметре name
, если name
уже относится к определенному языку и региональным параметрам.The culture specified by name
, if name
is already a specific culture.
Исключения
name
не является допустимым именем культуры.name
is not a valid culture name.
- или --or-
Язык и региональные параметры, заданные параметром name
, не имеет соответствующего ему определенного языка и региональных параметров.The culture specified by name
does not have a specific culture associated with it.
Параметр name
имеет значение null.name
is null.
Примеры
В следующем примере извлекается массив объектов CultureInfo, которые представляют нейтральные языки и региональные параметры из метода GetCultures и сортирует массив.The following example retrieves an array of CultureInfo objects that represent neutral cultures from the GetCultures method and sorts the array. Когда он выполняет итерацию элементов массива, он передает имя каждой нейтральной культуры методу CreateSpecificCulture и отображает имя конкретной культуры, возвращаемой методом.When it iterates the elements in the array, it passes the name of each neutral culture to the CreateSpecificCulture method and displays the name of the specific culture returned by the method.
Примечание
В примере используются имена языка и региональных параметров zh-CHS и zh-CHT.The example uses the zh-CHS and zh-CHT culture names. Однако приложения, предназначенные для Windows Vista и более поздних версий, должны использовать zh-Ханс вместо zh-CHS и zh-Hant вместо zh-CHT.However, applications that target Windows Vista and later should use zh-Hans instead of zh-CHS and zh-Hant instead of zh-CHT. zh-Ханс и zh-Hant представляют текущий стандарт и должны использоваться, если нет причины использовать старые имена.zh-Hans and zh-Hant represent the current standard and should be used unless you have a reason for using the older names.
Обратите внимание, что результаты этого примера могут отличаться при установке тайваньский Windows, где входные данные для китайского (традиционного) языка и региональных параметров (zh, zh-CHT или zh-Hant) будут возвращать zh-TW.Note also that the results of the example may differ on an installation of Taiwanese Windows, where the input of a Chinese (Traditional) neutral culture (zh, zh-CHT, or zh-Hant) will return zh-TW.
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Reflection;
public class Example
{
public static void Main()
{
// Display the header.
Console.WriteLine("{0,-53}{1}", "CULTURE", "SPECIFIC CULTURE");
// Get each neutral culture in the .NET Framework.
CultureInfo[] cultures = CultureInfo.GetCultures(CultureTypes.NeutralCultures);
// Sort the returned array by name.
Array.Sort<CultureInfo>(cultures, new NamePropertyComparer<CultureInfo>());
// Determine the specific culture associated with each neutral culture.
foreach (var culture in cultures)
{
Console.Write("{0,-12} {1,-40}", culture.Name, culture.EnglishName);
try {
Console.WriteLine("{0}", CultureInfo.CreateSpecificCulture(culture.Name).Name);
}
catch (ArgumentException) {
Console.WriteLine("(no associated specific culture)");
}
}
}
}
public class NamePropertyComparer<T> : IComparer<T>
{
public int Compare(T x, T y)
{
if (x == null)
if (y == null)
return 0;
else
return -1;
PropertyInfo pX = x.GetType().GetProperty("Name");
PropertyInfo pY = y.GetType().GetProperty("Name");
return String.Compare((string) pX.GetValue(x, null), (string) pY.GetValue(y, null));
}
}
// The example displays the following output on a Windows system. This output has been cropped for brevity.
// CULTURE SPECIFIC CULTURE
// Invariant Language (Invariant Country)
// aa Afar aa-ET
// af Afrikaans af-ZA
// agq Aghem agq-CM
// ak Akan ak-GH
// am Amharic am-ET
// ar Arabic ar-SA
// arn Mapudungun arn-CL
// as Assamese as-IN
// asa Asu asa-TZ
// ast Asturian ast-ES
// az Azerbaijani az-Latn-AZ
// az-Cyrl Azerbaijani (Cyrillic) az-Cyrl-AZ
// az-Latn Azerbaijani (Latin) az-Latn-AZ
// ba Bashkir ba-RU
// bas Basaa bas-CM
// be Belarusian be-BY
// bem Bemba bem-ZM
// bez Bena bez-TZ
// bg Bulgarian bg-BG
// bin Edo bin-NG
// bm Bamanankan bm-Latn-ML
// bm-Latn Bamanankan (Latin) bm-Latn-ML
// bn Bangla bn-BD
// bo Tibetan bo-CN
// br Breton br-FR
// brx Bodo brx-IN
// bs Bosnian bs-Latn-BA
// bs-Cyrl Bosnian (Cyrillic) bs-Cyrl-BA
// bs-Latn Bosnian (Latin) bs-Latn-BA
// byn Blin byn-ER
// ca Catalan ca-ES
// ce Chechen ce-RU
// cgg Chiga cgg-UG
// chr Cherokee chr-Cher-US
// chr-Cher Cherokee chr-Cher-US
// co Corsican co-FR
// cs Czech cs-CZ
// cu Church Slavic cu-RU
// cy Welsh cy-GB
// da Danish da-DK
// dav Taita dav-KE
// de German de-DE
// dje Zarma dje-NE
// dsb Lower Sorbian dsb-DE
// dua Duala dua-CM
// dv Divehi dv-MV
// ...
// ta Tamil ta-IN
// te Telugu te-IN
// teo Teso teo-UG
// tg Tajik tg-Cyrl-TJ
// tg-Cyrl Tajik (Cyrillic) tg-Cyrl-TJ
// th Thai th-TH
// ti Tigrinya ti-ER
// tig Tigre tig-ER
// tk Turkmen tk-TM
// tn Setswana tn-ZA
// to Tongan to-TO
// tr Turkish tr-TR
// ts Tsonga ts-ZA
// tt Tatar tt-RU
// twq Tasawaq twq-NE
// tzm Central Atlas Tamazight tzm-Latn-DZ
// tzm-Arab Central Atlas Tamazight (Arabic) tzm-Arab-MA
// tzm-Latn Central Atlas Tamazight (Latin) tzm-Latn-DZ
// tzm-Tfng Central Atlas Tamazight (Tifinagh) tzm-Tfng-MA
// ug Uyghur ug-CN
// uk Ukrainian uk-UA
// ur Urdu ur-PK
// uz Uzbek uz-Latn-UZ
// uz-Arab Uzbek (Perso-Arabic) uz-Arab-AF
// uz-Cyrl Uzbek (Cyrillic) uz-Cyrl-UZ
// uz-Latn Uzbek (Latin) uz-Latn-UZ
// vai Vai vai-Vaii-LR
// vai-Latn Vai (Latin) vai-Latn-LR
// vai-Vaii Vai (Vai) vai-Vaii-LR
// ve Venda ve-ZA
// vi Vietnamese vi-VN
// vo Volapük vo-001
// vun Vunjo vun-TZ
// wae Walser wae-CH
// wal Wolaytta wal-ET
// wo Wolof wo-SN
// xh isiXhosa xh-ZA
// xog Soga xog-UG
// yav Yangben yav-CM
// yi Yiddish yi-001
// yo Yoruba yo-NG
// zgh Standard Moroccan Tamazight zgh-Tfng-MA
// zgh-Tfng Standard Moroccan Tamazight (Tifinagh) zgh-Tfng-MA
// zh Chinese zh-CN
// zh-CHS Chinese (Simplified) Legacy zh-CN
// zh-CHT Chinese (Traditional) Legacy zh-HK
// zh-Hans Chinese (Simplified) zh-CN
// zh-Hant Chinese (Traditional) zh-HK
// zu isiZulu zu-ZA
// The example displays output like the following on a Unix-based system. The output has been cropped for brevity.
CULTURE SPECIFIC CULTURE
// Invariant Language (Invariant Country)
// af Afrikaans af-ZA
// agq Aghem agq-CM
// ak Akan ak-GH
// am Amharic am-ET
// ar Arabic ar-SA
// as Assamese as-IN
// asa Asu asa-TZ
// ast Asturian ast-ES
// az Azerbaijani az-Latn-AZ
// az-Cyrl Azerbaijani az-Cyrl-AZ
// az-Latn Azerbaijani az-Latn-AZ
// bas Basaa bas-CM
// be Belarusian be-BY
// bem Bemba bem-ZM
// bez Bena bez-TZ
// bg Bulgarian bg-BG
// bm Bambara bm-Latn-ML
// bn Bangla bn-BD
// bo Tibetan bo-CN
// br Breton br-FR
// brx Bodo brx-IN
// bs Bosnian bs-Latn-BA
// bs-Cyrl Bosnian bs-Cyrl-BA
// bs-Latn Bosnian bs-Latn-BA
// ca Catalan ca-ES
// ccp Chakma
// ce Chechen ce-RU
// cgg Chiga cgg-UG
// chr Cherokee chr-Cher-US
// ckb Central Kurdish
// cs Czech cs-CZ
// cy Welsh cy-GB
// da Danish da-DK
// dav Taita dav-KE
// de German de-DE
// dje Zarma dje-NE
// dsb Lower Sorbian dsb-DE
// dua Duala dua-CM
// ...
// ta Tamil ta-IN
// te Telugu te-IN
// teo Teso teo-UG
// tg Tajik tg-Cyrl-TJ
// th Thai th-TH
// ti Tigrinya ti-ER
// to Tongan to-TO
// tr Turkish tr-TR
// tt Tatar tt-RU
// twq Tasawaq twq-NE
// tzm Central Atlas Tamazight tzm-Latn-DZ
// ug Uyghur ug-CN
// uk Ukrainian uk-UA
// ur Urdu ur-PK
// uz Uzbek uz-Latn-UZ
// uz-Arab Uzbek uz-Arab-AF
// uz-Cyrl Uzbek uz-Cyrl-UZ
// uz-Latn Uzbek uz-Latn-UZ
// vai Vai vai-Vaii-LR
// vai-Latn Vai vai-Latn-LR
// vai-Vaii Vai vai-Vaii-LR
// vi Vietnamese vi-VN
// vun Vunjo vun-TZ
// wae Walser wae-CH
// wo Wolof wo-SN
// xog Soga xog-UG
// yav Yangben yav-CM
// yi Yiddish yi-001
// yo Yoruba yo-NG
// yue Cantonese yue-HK
// yue-Hans Cantonese
// yue-Hant Cantonese
// zgh Standard Moroccan Tamazight zgh-Tfng-MA
// zh Chinese zh-CN
// zh-Hans Chinese zh-CN
// zh-Hant Chinese zh-HK
// zu Zulu zu-ZA
Imports System.Collections.Generic
Imports System.Globalization
Imports System.Reflection
Public Class Example
Public Shared Sub Main()
' Display the header.
Console.WriteLine("{0,-53}{1}", "CULTURE", "SPECIFIC CULTURE")
' Get each neutral culture in the .NET Framework.
Dim cultures() As CultureInfo = CultureInfo.GetCultures(CultureTypes.NeutralCultures)
' Sort the returned array by name.
Array.Sort(Of CultureInfo)(cultures, New NamePropertyComparer(Of CultureInfo)())
' Determine the specific culture associated with each neutral culture.
For Each culture As CultureInfo In cultures
Console.Write("{0,-12} {1,-40}", culture.Name, culture.EnglishName)
Try
Console.WriteLine("{0}", CultureInfo.CreateSpecificCulture(culture.Name).Name)
Catch e As ArgumentException
Console.WriteLine("(no associated specific culture)")
End Try
Next
End Sub
End Class
Public Class NamePropertyComparer(Of T) : Implements IComparer(Of T)
Public Function Compare(x As T, y As T) As Integer _
Implements IComparer(Of T).Compare
If x Is Nothing Then
If y Is Nothing Then
Return 0
Else
Return -1
End If
End If
Dim pX As PropertyInfo = x.GetType().GetProperty("Name")
Dim pY As PropertyInfo = y.GetType().GetProperty("Name")
Return String.Compare(CStr(pX.GetValue(x, Nothing)), CStr(pY.GetValue(y, Nothing)))
End Function
End Class
' The example displays the following output on a Windows system. This output has been cropped for brevity.
' CULTURE SPECIFIC CULTURE
Invariant Language (Invariant Country)
' aa Afar aa-ET
' af Afrikaans af-ZA
' agq Aghem agq-CM
' ak Akan ak-GH
' am Amharic am-ET
' ar Arabic ar-SA
' arn Mapudungun arn-CL
' as Assamese as-IN
' asa Asu asa-TZ
' ast Asturian ast-ES
' az Azerbaijani az-Latn-AZ
' az-Cyrl Azerbaijani (Cyrillic) az-Cyrl-AZ
' az-Latn Azerbaijani (Latin) az-Latn-AZ
' ba Bashkir ba-RU
' bas Basaa bas-CM
' be Belarusian be-BY
' bem Bemba bem-ZM
' bez Bena bez-TZ
' bg Bulgarian bg-BG
' bin Edo bin-NG
' bm Bamanankan bm-Latn-ML
' bm-Latn Bamanankan (Latin) bm-Latn-ML
' bn Bangla bn-BD
' bo Tibetan bo-CN
' br Breton br-FR
' brx Bodo brx-IN
' bs Bosnian bs-Latn-BA
' bs-Cyrl Bosnian (Cyrillic) bs-Cyrl-BA
' bs-Latn Bosnian (Latin) bs-Latn-BA
' byn Blin byn-ER
' ca Catalan ca-ES
' ce Chechen ce-RU
' cgg Chiga cgg-UG
' chr Cherokee chr-Cher-US
' chr-Cher Cherokee chr-Cher-US
' co Corsican co-FR
' cs Czech cs-CZ
' cu Church Slavic cu-RU
' cy Welsh cy-GB
' da Danish da-DK
' dav Taita dav-KE
' de German de-DE
' dje Zarma dje-NE
' dsb Lower Sorbian dsb-DE
' dua Duala dua-CM
' dv Divehi dv-MV
' ...
' ta Tamil ta-IN
' te Telugu te-IN
' teo Teso teo-UG
' tg Tajik tg-Cyrl-TJ
' tg-Cyrl Tajik (Cyrillic) tg-Cyrl-TJ
' th Thai th-TH
' ti Tigrinya ti-ER
' tig Tigre tig-ER
' tk Turkmen tk-TM
' tn Setswana tn-ZA
' to Tongan to-TO
' tr Turkish tr-TR
' ts Tsonga ts-ZA
' tt Tatar tt-RU
' twq Tasawaq twq-NE
' tzm Central Atlas Tamazight tzm-Latn-DZ
' tzm-Arab Central Atlas Tamazight (Arabic) tzm-Arab-MA
' tzm-Latn Central Atlas Tamazight (Latin) tzm-Latn-DZ
' tzm-Tfng Central Atlas Tamazight (Tifinagh) tzm-Tfng-MA
' ug Uyghur ug-CN
' uk Ukrainian uk-UA
' ur Urdu ur-PK
' uz Uzbek uz-Latn-UZ
' uz-Arab Uzbek (Perso-Arabic) uz-Arab-AF
' uz-Cyrl Uzbek (Cyrillic) uz-Cyrl-UZ
' uz-Latn Uzbek (Latin) uz-Latn-UZ
' vai Vai vai-Vaii-LR
' vai-Latn Vai (Latin) vai-Latn-LR
' vai-Vaii Vai (Vai) vai-Vaii-LR
' ve Venda ve-ZA
' vi Vietnamese vi-VN
' vo Volapük vo-001
' vun Vunjo vun-TZ
' wae Walser wae-CH
' wal Wolaytta wal-ET
' wo Wolof wo-SN
' xh isiXhosa xh-ZA
' xog Soga xog-UG
' yav Yangben yav-CM
' yi Yiddish yi-001
' yo Yoruba yo-NG
' zgh Standard Moroccan Tamazight zgh-Tfng-MA
' zgh-Tfng Standard Moroccan Tamazight (Tifinagh) zgh-Tfng-MA
' zh Chinese zh-CN
' zh-CHS Chinese (Simplified) Legacy zh-CN
' zh-CHT Chinese (Traditional) Legacy zh-HK
' zh-Hans Chinese (Simplified) zh-CN
' zh-Hant Chinese (Traditional) zh-HK
' zu isiZulu zu-ZA
' The example displays output like the following on a Unix-based system. The output has been cropped for brevity.
CULTURE SPECIFIC CULTURE
' Invariant Language (Invariant Country)
' af Afrikaans af-ZA
' agq Aghem agq-CM
' ak Akan ak-GH
' am Amharic am-ET
' ar Arabic ar-SA
' as Assamese as-IN
' asa Asu asa-TZ
' ast Asturian ast-ES
' az Azerbaijani az-Latn-AZ
' az-Cyrl Azerbaijani az-Cyrl-AZ
' az-Latn Azerbaijani az-Latn-AZ
' bas Basaa bas-CM
' be Belarusian be-BY
' bem Bemba bem-ZM
' bez Bena bez-TZ
' bg Bulgarian bg-BG
' bm Bambara bm-Latn-ML
' bn Bangla bn-BD
' bo Tibetan bo-CN
' br Breton br-FR
' brx Bodo brx-IN
' bs Bosnian bs-Latn-BA
' bs-Cyrl Bosnian bs-Cyrl-BA
' bs-Latn Bosnian bs-Latn-BA
' ca Catalan ca-ES
' ccp Chakma
' ce Chechen ce-RU
' cgg Chiga cgg-UG
' chr Cherokee chr-Cher-US
' ckb Central Kurdish
' cs Czech cs-CZ
' cy Welsh cy-GB
' da Danish da-DK
' dav Taita dav-KE
' de German de-DE
' dje Zarma dje-NE
' dsb Lower Sorbian dsb-DE
' dua Duala dua-CM
' ...
' ta Tamil ta-IN
' te Telugu te-IN
' teo Teso teo-UG
' tg Tajik tg-Cyrl-TJ
' th Thai th-TH
' ti Tigrinya ti-ER
' to Tongan to-TO
' tr Turkish tr-TR
' tt Tatar tt-RU
' twq Tasawaq twq-NE
' tzm Central Atlas Tamazight tzm-Latn-DZ
' ug Uyghur ug-CN
' uk Ukrainian uk-UA
' ur Urdu ur-PK
' uz Uzbek uz-Latn-UZ
' uz-Arab Uzbek uz-Arab-AF
' uz-Cyrl Uzbek uz-Cyrl-UZ
' uz-Latn Uzbek uz-Latn-UZ
' vai Vai vai-Vaii-LR
' vai-Latn Vai vai-Latn-LR
' vai-Vaii Vai vai-Vaii-LR
' vi Vietnamese vi-VN
' vun Vunjo vun-TZ
' wae Walser wae-CH
' wo Wolof wo-SN
' xog Soga xog-UG
' yav Yangben yav-CM
' yi Yiddish yi-001
' yo Yoruba yo-NG
' yue Cantonese yue-HK
' yue-Hans Cantonese
' yue-Hant Cantonese
' zgh Standard Moroccan Tamazight zgh-Tfng-MA
' zh Chinese zh-CN
' zh-Hans Chinese zh-CN
' zh-Hant Chinese zh-HK
' zu Zulu zu-ZA
Комментарии
Метод CreateSpecificCulture создает оболочку для вызова конструктора CultureInfo(String).The CreateSpecificCulture method wraps a call to the CultureInfo(String) constructor.
Примечание
Список предварительно определенных имен языков и региональных параметров в системах Windows см. в столбце тег языка в списке имен языков и регионов, поддерживаемых Windows.For a list of predefined culture names on Windows systems, see the Language tag column in the list of language/region names supported by Windows. Теги языков указаны в соответствии со стандартом BCP 47.Culture names follow the standard defined by BCP 47. Кроме того, начиная с Windows 10 name
может быть любым допустимым тегом языка BCP-47.In addition, starting with Windows 10, name
can be any valid BCP-47 language tag.
Языки и региональные параметры группируются в три набора: инвариантные, нейтральные и конкретные культуры.Cultures are grouped into three sets: the invariant culture, the neutral cultures, and the specific cultures. Дополнительные сведения см. в описании класса CultureInfo.For more information, see the description of the CultureInfo class.
Если идентификатор языка и региональных параметров, возвращаемый этим методом, совпадает с идентификатором языка и региональных параметров текущего языка и региональных параметров Windows, этот метод создает объект CultureInfo, использующий переопределения языка и региональных параметров Windows.If the culture identifier of the specific culture returned by this method matches the culture identifier of the current Windows culture, this method creates a CultureInfo object that uses the Windows culture overrides. Переопределения включают пользовательские параметры для свойств объекта DateTimeFormatInfo, возвращаемого свойством DateTimeFormat, и объект NumberFormatInfo, возвращаемый свойством NumberFormat.The overrides include user settings for the properties of the DateTimeFormatInfo object returned by the DateTimeFormat property and the NumberFormatInfo object returned by the NumberFormat property. Чтобы создать экземпляр объекта CultureInfo, который имеет параметры языка и региональных параметров по умолчанию, а не переопределяется пользователем, вызовите конструктор CultureInfo(String, Boolean) со значением false
для аргумента useUserOverride
.To instantiate a CultureInfo object that with default culture settings rather than user overrides, call the CultureInfo(String, Boolean) constructor with a value of false
for the useUserOverride
argument.
Несмотря на то, что имя метода CreateSpecificCulture включает термин "Специальный", помните, что данные языка и региональных параметров могут изменяться в разных версиях или из-за пользовательских языков и региональных параметров, либо вследствие переопределений пользователей.Although the CreateSpecificCulture method name includes the term "Specific", remember that culture data can change between versions, or due to custom cultures, or because of user overrides. Используйте инвариантные или двоичные или фиксированные формы для сохранения данных.Use the invariant culture or binary or fixed forms for saving data.
Примечания для тех, кто вызывает этот метод
.NET Framework 3,5.NET Framework 3.5 и более ранние версии вызовут ArgumentException если name
не является допустимым именем языка и региональных параметров.The .NET Framework 3,5.NET Framework 3.5 and earlier versions throw an ArgumentException if name
is not a valid culture name. Начиная с .NET Framework 4.NET Framework 4этот метод создает исключение CultureNotFoundException.Starting with the .NET Framework 4.NET Framework 4, this method throws a CultureNotFoundException.