CultureInfo Конструкторы
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Инициализирует новый экземпляр класса CultureInfo.
Перегрузки
CultureInfo(Int32) |
Инициализирует новый экземпляр класса CultureInfo на основе языка и региональных параметров, заданных идентификатором. |
CultureInfo(String) |
Инициализирует новый экземпляр класса CultureInfo на основе языка и региональных параметров, заданных именем. |
CultureInfo(Int32, Boolean) |
Инициализирует новый экземпляр CultureInfo класса на основе языка и региональных параметров, заданных идентификатором языка и региональных параметров, и значения, указывающего, следует ли использовать выбранные пользователем параметры языка и региональных параметров из Windows. |
CultureInfo(String, Boolean) |
Инициализирует новый экземпляр CultureInfo класса на основе языка и региональных параметров, заданных именем, и значения, указывающего, следует ли использовать выбранные пользователем параметры языка и региональных параметров из Windows. |
CultureInfo(Int32)
- Исходный код:
- CultureInfo.cs
- Исходный код:
- CultureInfo.cs
- Исходный код:
- CultureInfo.cs
Инициализирует новый экземпляр класса CultureInfo на основе языка и региональных параметров, заданных идентификатором.
public:
CultureInfo(int culture);
public CultureInfo (int culture);
new System.Globalization.CultureInfo : int -> System.Globalization.CultureInfo
Public Sub New (culture As Integer)
Параметры
- culture
- Int32
Предварительно определенный идентификатор CultureInfo, свойство LCID существующего объекта CultureInfo или идентификатор языка и региональных параметров, свойственных только Windows.
Исключения
Значение параметра culture
меньше нуля.
culture
не является допустимым идентификатором языка и региональных параметров. Дополнительные сведения см. в разделе "Примечания для вызывающей стороны".
Комментарии
Предопределенные идентификаторы языка и региональных параметров, доступных в системе Windows, перечислены в столбце Языковой тег в списке имен языков или регионов, поддерживаемых Windows. Теги языков указаны в соответствии со стандартом BCP 47.
В большинстве случаев culture
параметр сопоставляется с соответствующим идентификатором языкового стандарта NLS. Значение culture
параметра становится значением LCID свойства нового CultureInfoобъекта .
Рекомендуется вызывать конструктор CultureInfo.CultureInfoимени языкового стандарта , так как имена языкового стандарта предпочтительнее, чем LCID. Для пользовательских языковых стандартов требуется имя языкового стандарта.
Пользователь может переопределить некоторые значения, связанные с текущим языком и региональными параметрами Windows, с помощью региональных и языковых параметров панели управления. Например, пользователь может отобразить дату в другом формате или использовать валюту, отличную от используемой по умолчанию для языка и региональных параметров. Если указанный идентификатор языка и региональных параметров совпадает с идентификатором текущего языка и региональных параметров Windows, этот конструктор создает CultureInfo , использующий эти переопределения, включая пользовательские параметры для свойств экземпляра, возвращаемого DateTimeFormatInfo свойством DateTimeFormat , и свойства экземпляра NumberFormatInfo , возвращаемого свойством NumberFormat . Если параметры пользователя несовместимы с языком и региональными параметрами, связанными с CultureInfo (например, если выбранный календарь не является одним из OptionalCalendars), результаты методов и значения свойств не определены.
Если указанный идентификатор языка и региональных параметров не соответствует идентификатору текущего языка и региональных параметров Windows, этот конструктор создает CultureInfo , использующий значения по умолчанию для указанного языка и региональных параметров.
Свойство UseUserOverride всегда имеет значение true
.
Например, предположим, что арабский (Саудовская Аравия) — это текущий язык и региональные параметры Windows, а пользователь изменил календарь с хиджра на григорианский.
С
CultureInfo("0x0401")
(имя языка и региональных параметров ar-SA) Calendar имеет значение GregorianCalendar (который является пользовательским параметром), а UseUserOverride для — значениеtrue
.С
CultureInfo("0x041E")
(имя языка и региональных параметров th-TH), Calendar имеет значение ThaiBuddhistCalendar (который является календарем по умолчанию для th-TH) и UseUserOverride имеет значениеtrue
.
Для языков и региональных параметров, использующих евро, .NET Framework и Windows XP устанавливают валюту по умолчанию в виде евро. Однако в более старых версиях Windows это не так. Таким образом, если пользователь более старой версии Windows не изменил параметр валюты с помощью региональных и языковых параметров панели управления, возможно, валюта будет неправильной. Чтобы использовать параметр .NET Framework по умолчанию для валюты, приложение должно использовать перегрузку CultureInfo конструктора useUserOverride
, которая принимает параметр и присваивает ему значение false
.
Примечание
Для обратной совместимости язык и региональные параметры, созданные culture
с помощью параметра 0x0004 или 0x7c04, будут иметь Name свойство zh-CHS
или zh-CHT
соответственно. Вместо этого следует предпочесть создавать язык и региональные параметры с использованием текущих стандартных zh-Hans
имен языка и региональных параметров или zh-Hant
, если нет причин для использования более старых имен.
Примечания для тех, кто вызывает этот метод
В .NET Framework 3.5 и более ранних версиях создается исключение , ArgumentException если culture
не является допустимым идентификатором языка и региональных параметров. Начиная с .NET Framework 4, этот конструктор создает CultureNotFoundExceptionисключение . Начиная с приложений, работающих под управлением .NET Framework 4 или более поздней версии в Windows 7 или более поздней версии, метод пытается получить CultureInfo объект, идентификатор которого находится culture
в операционной системе. Если операционная система не поддерживает этот язык и региональные параметры, метод создает CultureNotFoundException исключение.
В .NET 6 и более поздних версиях возникает исключение , если приложение выполняется в среде, CultureNotFoundException где включен инвариантный режим глобализации, например, некоторые контейнеры Docker и указан язык и региональные параметры, отличные от инвариантного языка и региональных параметров.
См. также раздел
Применяется к
CultureInfo(String)
- Исходный код:
- CultureInfo.cs
- Исходный код:
- CultureInfo.cs
- Исходный код:
- CultureInfo.cs
Инициализирует новый экземпляр класса CultureInfo на основе языка и региональных параметров, заданных именем.
public:
CultureInfo(System::String ^ name);
public CultureInfo (string name);
new System.Globalization.CultureInfo : string -> System.Globalization.CultureInfo
Public Sub New (name As String)
Параметры
- name
- String
Предварительно определенное имя CultureInfo, свойство Name существующего объекта CultureInfo или имя языка и региональных параметров, свойственных только Windows.
name
не учитывает регистр.
Исключения
Параметр name
имеет значение null.
name
не является допустимым именем культуры. Дополнительные сведения см. в разделе "Примечания к вызывающим объектам".
Примеры
В следующем примере извлекается текущий язык и региональные параметры. Если это не французский язык и региональные параметры (Франция), он вызывает CultureInfo(String) конструктор для создания CultureInfo экземпляра объекта, который представляет язык и региональные параметры французского языка (Франция) и делает его текущим языком и региональными параметрами. В противном случае он создает CultureInfo экземпляр объекта , который представляет язык и региональные параметры французского языка (Люксембург) и делает его текущим языком и региональными параметрами.
using System;
using System.Globalization;
public class ChangeEx1
{
public static void Main()
{
CultureInfo current = CultureInfo.CurrentCulture;
Console.WriteLine("The current culture is {0}", current.Name);
CultureInfo newCulture;
if (current.Name.Equals("fr-FR"))
newCulture = new CultureInfo("fr-LU");
else
newCulture = new CultureInfo("fr-FR");
CultureInfo.CurrentCulture = newCulture;
Console.WriteLine("The current culture is now {0}",
CultureInfo.CurrentCulture.Name);
}
}
// The example displays output like the following:
// The current culture is en-US
// The current culture is now fr-FR
Imports System.Globalization
Module Example
Public Sub Main()
Dim current As CultureInfo = CultureInfo.CurrentCulture
Console.WriteLine("The current culture is {0}", current.Name)
Dim newCulture As CultureInfo
If current.Name.Equals("fr-FR") Then
newCulture = New CultureInfo("fr-LU")
Else
newCulture = new CultureInfo("fr-FR")
End If
CultureInfo.CurrentCulture = newCulture
Console.WriteLine("The current culture is now {0}",
CultureInfo.CurrentCulture.Name)
End Sub
End Module
' The example displays output like the following:
' The current culture is en-US
' The current culture is now fr-FR
Комментарии
Список стандартных имен языка и региональных параметров в системах Windows см. в столбце Языковой тег в списке имен языков или регионов, поддерживаемых Windows. Теги языков указаны в соответствии со стандартом BCP 47. Кроме того, начиная с Windows 10, name
может быть любым допустимым языковым тегом BCP-47.
Если name
имеет значение String.Empty, конструктор создает экземпляр инвариантного языка и региональных параметров. Это эквивалентно получению InvariantCulture значения свойства .
Пользователь может переопределить некоторые значения, связанные с текущим языком и региональными параметрами Windows, с помощью региональных и языковых параметров панели управления. Например, пользователь может отобразить дату в другом формате или использовать валюту, отличную от используемой по умолчанию для языка и региональных параметров. Если идентификатор языка и региональных параметров, связанный с , совпадает с name
идентификатором текущего языка и региональных параметров Windows, этот конструктор создает CultureInfo объект, использующий эти переопределения, включая пользовательские параметры для свойств экземпляра, возвращаемого DateTimeFormatInfo свойством DateTimeFormat , и свойства экземпляра, возвращаемого NumberFormatInfo свойством NumberFormat . Если параметры пользователя несовместимы с языком и региональными параметрами, связанными с CultureInfo, например, если выбранный календарь не является одним из OptionalCalendars, результаты методов и значения свойств не определены.
Если идентификатор языка и региональных параметров, связанный с name
, не соответствует идентификатору текущего языка и региональных параметров Windows, этот конструктор создает CultureInfo объект , использующий значения по умолчанию для указанного языка и региональных параметров.
Свойство UseUserOverride всегда имеет значение true
.
Например, предположим, что арабский (Саудовская Аравия) — это текущий язык и региональные параметры Windows, а пользователь изменил календарь с хиджра на григорианский:
- В
CultureInfo("ar-SA")
параметре Calendar задается значение GregorianCalendar (которое является пользовательским параметром), а UseUserOverride для — значениеtrue
. - При
CultureInfo("th-TH")
использовании параметр имеет значение ThaiBuddhistCalendar (который является календарем по умолчанию для th-TH) и UseUserOverride имеет значениеtrue
Calendar .
Свойству LCID нового CultureInfo задается идентификатор языка и региональных параметров, связанный с указанным именем.
Примечания для тех, кто вызывает этот метод
В .NET Framework 3.5 и более ранних версиях создается исключение ArgumentException , если name
не является допустимым именем языка и региональных параметров. Начиная с .NET Framework 4, этот конструктор создает CultureNotFoundExceptionисключение . Начиная с приложений, работающих под управлением .NET Framework 4 или более поздней версии в Windows 7 или более поздней версии, метод пытается получить CultureInfo объект, идентификатор которого находится name
в операционной системе. Если операционная система не поддерживает этот язык и региональные параметры, а если name
не является именем дополнительного или заменяющего языка и региональных параметров, метод создает CultureNotFoundException исключение.
В .NET 6 и более поздних версиях возникает исключение , если приложение выполняется в среде, CultureNotFoundException где включен инвариантный режим глобализации, например, некоторые контейнеры Docker и указан язык и региональные параметры, отличные от инвариантного языка и региональных параметров.
См. также раздел
Применяется к
CultureInfo(Int32, Boolean)
- Исходный код:
- CultureInfo.cs
- Исходный код:
- CultureInfo.cs
- Исходный код:
- CultureInfo.cs
Инициализирует новый экземпляр CultureInfo класса на основе языка и региональных параметров, заданных идентификатором языка и региональных параметров, и значения, указывающего, следует ли использовать выбранные пользователем параметры языка и региональных параметров из Windows.
public:
CultureInfo(int culture, bool useUserOverride);
public CultureInfo (int culture, bool useUserOverride);
new System.Globalization.CultureInfo : int * bool -> System.Globalization.CultureInfo
Public Sub New (culture As Integer, useUserOverride As Boolean)
Параметры
- culture
- Int32
Предварительно определенный идентификатор CultureInfo, свойство LCID существующего объекта CultureInfo или идентификатор языка и региональных параметров, свойственных только Windows.
- useUserOverride
- Boolean
true
для использования выбранных пользователем параметров языка и региональных параметров (только Для Windows); false
, чтобы использовать параметры языка и региональных параметров по умолчанию.
Исключения
Значение параметра culture
меньше нуля.
culture
не является допустимым идентификатором языка и региональных параметров. Дополнительные сведения см. в разделе "Примечания для вызывающей стороны".
Комментарии
Предопределенные идентификаторы языка и региональных параметров, доступные в системах Windows, перечислены в столбце Языковой тег в списке имен языков или регионов, поддерживаемых Windows. Теги языков указаны в соответствии со стандартом BCP 47.
В большинстве случаев culture
параметр сопоставляется с соответствующим идентификатором языкового стандарта NLS. Значение culture
параметра становится значением LCID свойства нового CultureInfoобъекта .
Рекомендуется вызывать конструктор CultureInfo.CultureInfoимени языкового стандарта , так как имена языкового стандарта предпочтительнее, чем LCID. Для пользовательских языковых стандартов требуется имя языкового стандарта.
Пользователь может переопределить некоторые значения, связанные с текущим языком и региональными параметрами Windows, с помощью региональных и языковых параметров панели управления. Например, пользователь может отобразить дату в другом формате или использовать валюту, отличную от используемой по умолчанию для языка и региональных параметров.
Приложения обычно не должны запрещать переопределения пользователей. Запрет переопределений сам по себе не гарантирует стабильность данных. Дополнительные сведения см. в записи блога Язык и региональные параметры не должны считаться стабильными (за исключением инвариантных).
Если свойству UseUserOverride присвоено значение true
, а указанный идентификатор языка и региональных параметров соответствует идентификатору текущего языка и региональных параметров Windows, этот конструктор создает CultureInfo , который использует эти переопределения, включая пользовательские параметры для свойств экземпляра, возвращаемого DateTimeFormatInfo свойством DateTimeFormat , и свойства экземпляра, возвращаемого NumberFormatInfo свойством NumberFormat . Если параметры пользователя несовместимы с языком и региональными параметрами, связанными с CultureInfo, например, если выбранный календарь не является одним из OptionalCalendars, результаты методов и значения свойств не определены.
В противном случае этот конструктор создает CultureInfo объект , который использует значения по умолчанию для указанного языка и региональных параметров.
Значение useUserOverride
параметра становится значением UseUserOverride свойства .
Например, предположим, что текущим языком и региональными параметрами Windows является арабский (Саудовская Аравия), а пользователь изменил календарь с хиджра на григорианский.
С
CultureInfo("0x0401", true)
(имя языка и региональных параметров ar-SA) Calendar имеет значение GregorianCalendar (который является пользовательским параметром), а UseUserOverride для — значениеtrue
.С
CultureInfo("0x0401", false)
(имя языка и региональных параметров ar-SA) Calendar имеет значение HijriCalendar (который является календарем по умолчанию для ar-SA), а UseUserOverride для — значениеfalse
.С
CultureInfo("0x041E", true)
(имя языка и региональных параметров th-TH), Calendar имеет значение ThaiBuddhistCalendar (который является календарем по умолчанию для th-TH) и UseUserOverride имеет значениеtrue
.С
CultureInfo("0x041E", false)
(имя языка и региональных параметров th-TH), Calendar имеет значение ThaiBuddhistCalendar (который является календарем по умолчанию для th-TH) и UseUserOverride имеет значениеfalse
.
Для языков и региональных параметров, использующих евро, платформа .NET Framework и Windows XP устанавливают валюту по умолчанию в виде евро. Однако в более старых версиях Windows это не так. Таким образом, если пользователь более старой версии Windows не изменил параметр валюты с помощью региональных и языковых параметров панели управления, возможно, валюта будет неправильной. Чтобы использовать параметр .NET Framework по умолчанию для валюты, приложение должно задать useUserOverride
для параметра значение false
.
Примечание
Для обратной совместимости язык и региональные параметры, созданные culture
с помощью параметра 0x0004 или 0x7c04, будут иметь Name свойство zh-CHS или zh-CHT соответственно. Вместо этого следует предпочесть создавать язык и региональные параметры с использованием текущих стандартных zh-Hans
имен языка и региональных параметров или zh-Hant, если у вас нет причин для использования более старых имен.
Примечания для тех, кто вызывает этот метод
В .NET Framework 3.5 и более ранних версиях создается исключение , ArgumentException если culture
не является допустимым идентификатором языка и региональных параметров. Начиная с .NET Framework 4, этот конструктор создает CultureNotFoundExceptionисключение . Начиная с приложений, работающих под управлением .NET Framework 4 или более поздней версии в Windows 7 или более поздней версии, метод пытается получить CultureInfo объект, идентификатор которого находится culture
в операционной системе. Если операционная система не поддерживает этот язык и региональные параметры, метод создает CultureNotFoundException исключение.
В .NET 6 и более поздних версиях возникает исключение , если приложение выполняется в среде, CultureNotFoundException где включен инвариантный режим глобализации, например, некоторые контейнеры Docker и указан язык и региональные параметры, отличные от инвариантного языка и региональных параметров.
См. также раздел
Применяется к
CultureInfo(String, Boolean)
- Исходный код:
- CultureInfo.cs
- Исходный код:
- CultureInfo.cs
- Исходный код:
- CultureInfo.cs
Инициализирует новый экземпляр CultureInfo класса на основе языка и региональных параметров, заданных именем, и значения, указывающего, следует ли использовать выбранные пользователем параметры языка и региональных параметров из Windows.
public:
CultureInfo(System::String ^ name, bool useUserOverride);
public CultureInfo (string name, bool useUserOverride);
new System.Globalization.CultureInfo : string * bool -> System.Globalization.CultureInfo
Public Sub New (name As String, useUserOverride As Boolean)
Параметры
- name
- String
Предварительно определенное имя CultureInfo, свойство Name существующего объекта CultureInfo или имя языка и региональных параметров, свойственных только Windows.
name
не учитывает регистр.
- useUserOverride
- Boolean
true
для использования выбранных пользователем параметров языка и региональных параметров (только Для Windows); false
, чтобы использовать параметры языка и региональных параметров по умолчанию.
Исключения
Параметр name
имеет значение null.
name
не является допустимым именем языка и региональных параметров. Дополнительные сведения см. в разделе "Примечания для вызывающей стороны".
Комментарии
Список стандартных имен языка и региональных параметров см. в столбце Языковой тег в списке имен языков или регионов, поддерживаемых Windows. Теги языков указаны в соответствии со стандартом BCP 47. Кроме того, начиная с Windows 10, name
может быть любым допустимым языковым тегом BCP-47.
Если name
имеет значение String.Empty, конструктор создает экземпляр инвариантного языка и региональных параметров. Это эквивалентно получению InvariantCulture значения свойства .
Пользователь может переопределить некоторые значения, связанные с текущим языком и региональными параметрами Windows, с помощью региональных и языковых параметров панели управления. Например, пользователь может отобразить дату в другом формате или использовать валюту, отличную от используемой по умолчанию для языка и региональных параметров.
Приложения обычно не должны запрещать переопределения пользователей. Запрет переопределений сам по себе не гарантирует стабильность данных. Дополнительные сведения см. в записи блога Язык и региональные параметры не должны считаться стабильными (за исключением инвариантных).
Если свойству UseUserOverride присвоено значение true
, а идентификатор языка и региональных параметров, связанный с указанным именем языка и региональных параметров, совпадает с идентификатором текущего языка и региональных параметров Windows, этот конструктор создает CultureInfo объект , который использует эти переопределения, включая пользовательские параметры для свойств экземпляра DateTimeFormatInfo , возвращаемого свойством DateTimeFormat , и свойства экземпляра NumberFormatInfo , возвращаемые свойством NumberFormat . Если параметры пользователя несовместимы с языком и региональными параметрами, связанными с CultureInfo, например, если выбранный календарь не является одним из OptionalCalendars, результаты методов и значения свойств не определены.
В противном случае этот конструктор создает CultureInfo объект , который использует значения по умолчанию для указанного языка и региональных параметров.
Значение useUserOverride
параметра становится значением UseUserOverride свойства .
Например, предположим, что арабский (Саудовская Аравия) — это текущий язык и региональные параметры Windows, а пользователь изменил календарь с хиджра на григорианский.
В
CultureInfo("ar-SA", true)
параметре Calendar задается значение GregorianCalendar (которое является пользовательским параметром), а UseUserOverride для — значениеtrue
.С
CultureInfo("ar-SA", false)
параметром Calendar имеет значение HijriCalendar (который является календарем по умолчанию для ar-SA), а UseUserOverride для — значениеfalse
.При
CultureInfo("th-TH", true)
использовании параметр имеет значение ThaiBuddhistCalendar (который является календарем по умолчанию для th-TH) и UseUserOverride имеет значениеtrue
Calendar .При
CultureInfo("th-TH", false)
использовании параметр имеет значение ThaiBuddhistCalendar (который является календарем по умолчанию для th-TH) и UseUserOverride имеет значениеfalse
Calendar .
Свойству LCID нового CultureInfo задается идентификатор языка и региональных параметров, связанный с указанным именем.
Для языков и региональных параметров, использующих евро, платформа .NET Framework и Windows XP устанавливают валюту по умолчанию в виде евро. Однако более старые версии Windows этого не делают. Таким образом, если пользователь более старой версии Windows не изменил параметр валюты с помощью региональных и языковых параметров панели управления, возможно, валюта будет неправильной. Чтобы использовать параметр .NET Framework по умолчанию для валюты, приложение должно задать useUserOverride
для параметра значение false
.
Примечания для тех, кто вызывает этот метод
В .NET Framework 3.5 и более ранних версиях создается исключение ArgumentException , если name
не является допустимым именем языка и региональных параметров. Начиная с .NET Framework 4, этот конструктор создает CultureNotFoundExceptionисключение . Начиная с приложений, работающих под управлением .NET Framework 4 или более поздней версии в Windows 7 или более поздней версии, метод пытается получить CultureInfo объект, идентификатор которого находится name
в операционной системе. Если операционная система не поддерживает этот язык и региональные параметры, а если name
не является именем дополнительного или заменяющего языка и региональных параметров, метод создает CultureNotFoundException исключение.
В .NET 6 и более поздних версиях возникает исключение , если приложение выполняется в среде, CultureNotFoundException где включен инвариантный режим глобализации, например, некоторые контейнеры Docker и указан язык и региональные параметры, отличные от инвариантного языка и региональных параметров.