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.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). Значение параметра становится значением cultureLCID свойства нового 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.

Note

Для обратной совместимости язык и региональные параметры, созданные с помощью culture параметра 0x0004 или 0x7c04 будут иметь Name свойство zh-CHS или zh-CHTсоответственно. Вместо этого следует предпочесть создать язык и региональные параметры с использованием текущих стандартных zh-Hans имен и региональных параметров или zh-Hant, если у вас нет причины использования старых имен.

Note

LCID являются устаревшими, и реализующие настоятельно рекомендуется использовать более новые версии API, поддерживающие имена языков BCP 47. Каждый LCID может быть представлен именем языкового стандарта BCP 47, но обратное не верно. Диапазон LCID ограничен и не может однозначно определить все возможные сочетания языка и региона.

Примечания для тех, кто вызывает этот метод

.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.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, а пользователь изменил календарь с Хиджри на Григориан:

  • Параметр имеет значение >. Для этого параметра задано значение
  • Параметр <a0/> имеет значение (который является календарем по умолчанию для th-TH) и имеет значение .

Для 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.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). Значение параметра становится значением cultureLCID свойства нового CultureInfo.

Рекомендуется вызвать конструктор имен языкового стандарта CultureInfo.CultureInfo, так как имена языков предпочтительнее для LCID. Для пользовательских языковых стандартов требуется имя языкового стандарта.

Пользователь может переопределить некоторые значения, связанные с текущими языковыми и региональными параметрами Windows, через Панель управления в разделе региональных и языковых параметров. Например, пользователь может выбрать отображение даты в другом формате или использовать валюту, отличную от валюты по умолчанию для локали.

Приложения обычно не должны запрещать переопределения пользователей. Запрет переопределения не гарантирует стабильность данных. Дополнительные сведения см. в разделе "Данные языка и региональных параметров блога" не должны рассматриваться как стабильные (за исключением инвариантных) данных.

UseUserOverride Если для свойства задано true значение и указанный идентификатор языка и региональных параметров соответствует идентификатору текущего языка и региональных параметров Windows, этот конструктор создает CultureInfo тот, который использует эти переопределения, включая параметры пользователя для свойств DateTimeFormatInfo экземпляра, возвращаемого DateTimeFormat свойством, и свойства NumberFormatInfo экземпляра, возвращаемого свойствомNumberFormat. Если параметры пользователя несовместимы с культурой, связанной с CultureInfo, например, если выбранный календарь не является одним из OptionalCalendars, результаты методов и значения свойств не определены.

В противном случае этот конструктор создает CultureInfo значение по умолчанию для указанного языка и региональных параметров.

Значение параметра становится значением useUserOverrideUseUserOverride свойства.

Например, предположим, что арабский (Саудовская Аравия) — это текущая культура 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.

Note

Для обратной совместимости язык и региональные параметры, созданные с помощью culture параметра 0x0004 или 0x7c04, будут иметь Name свойство zh-CHS или zh-CHT соответственно. Вместо этого следует предпочесть создать язык и региональные параметры с использованием текущих стандартных имен и региональных параметров zh-Hans или zh-Hant, если у вас нет причины использования старых имен.

Note

LCID являются устаревшими, и реализующие настоятельно рекомендуется использовать более новые версии API, поддерживающие имена языков BCP 47. Каждый LCID может быть представлен именем языкового стандарта BCP 47, но обратное не верно. Диапазон LCID ограничен и не может однозначно определить все возможные сочетания языка и региона.

Примечания для тех, кто вызывает этот метод

.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.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 значение по умолчанию для указанного языка и региональных параметров.

Значение параметра становится значением useUserOverrideUseUserOverride свойства.

Например, предположим, что арабский (Саудовская Аравия) — это текущая культура Windows, а пользователь изменил календарь с Хиджри на Григориан.

  • Параметр имеет значение >. Для этого параметра задано значение

  • Параметр <a0/> имеет значение (который является календарем по умолчанию для ar-SA) и имеет значение .

  • Параметр <a0/> имеет значение (который является календарем по умолчанию для th-TH) и имеет значение .

  • Параметр <a0/> имеет значение (который является календарем по умолчанию для th-TH) и имеет значение .

Для 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, а также язык и региональные параметры, отличные от инвариантного языка и региональных параметров.

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

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