CultureInfo Konstruktory
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Inicializuje novou instanci CultureInfo třídy.
Přetížení
CultureInfo(Int32) |
Inicializuje novou instanci CultureInfo třídy na základě jazykové verze určené identifikátorem jazykové verze. |
CultureInfo(String) |
Inicializuje novou instanci CultureInfo třídy na základě jazykové verze určené názvem. |
CultureInfo(Int32, Boolean) |
Inicializuje novou instanci CultureInfo třídy na základě jazykové verze určené identifikátorem jazykové verze a na hodnotu, která určuje, zda se má použít nastavení jazykové verze vybrané uživatelem ze systému Windows. |
CultureInfo(String, Boolean) |
Inicializuje novou instanci CultureInfo třídy na základě jazykové verze určené názvem a na hodnotu, která určuje, zda se má použít nastavení jazykové verze vybrané uživatelem ze systému Windows. |
CultureInfo(Int32)
- Zdroj:
- CultureInfo.cs
- Zdroj:
- CultureInfo.cs
- Zdroj:
- CultureInfo.cs
Inicializuje novou instanci CultureInfo třídy na základě jazykové verze určené identifikátorem jazykové verze.
public:
CultureInfo(int culture);
public CultureInfo (int culture);
new System.Globalization.CultureInfo : int -> System.Globalization.CultureInfo
Public Sub New (culture As Integer)
Parametry
- culture
- Int32
Předdefinovaný CultureInfo identifikátor, LCID vlastnost existujícího CultureInfo objektu nebo identifikátor jazykové verze pouze systému Windows.
Výjimky
Hodnota culture
je menší než nula.
culture
není platný identifikátor jazykové verze. Další informace najdete v části Poznámky pro volající.
Poznámky
Předdefinované identifikátory jazykové verze pro jazykové verze dostupné v systému Windows jsou uvedeny ve sloupci Značka jazyka v seznamu názvů jazyků nebo oblastí podporovaných systémem Windows. Názvy jazykových verzí se řídí standardem definovaným BCP 47.
Ve většině případů culture
se parametr mapuje na odpovídající identifikátor národního prostředí podpory národních jazyků (NLS). Hodnota parametru culture
se stane hodnotou LCID vlastnosti nového CultureInfo.
Doporučujeme volat konstruktor CultureInfo.CultureInfonázvu národního prostředí , protože názvy národních prostředí jsou vhodnější než identifikátory LCID. Pro vlastní národní prostředí se vyžaduje název národního prostředí.
Uživatel se může rozhodnout přepsat některé hodnoty spojené s aktuální jazykovou verzí Systému Windows prostřednictvím části Místní a jazykové možnosti v Ovládacích panelech. Uživatel se například může rozhodnout zobrazit datum v jiném formátu nebo použít jinou měnu než výchozí pro jazykovou verzi. Pokud zadaný identifikátor jazykové verze odpovídá identifikátoru jazykové verze aktuální jazykové verze systému Windows, tento konstruktor vytvoří CultureInfo objekt, který používá tato přepsání, včetně uživatelských DateTimeFormatInfo nastavení pro vlastnosti instance vrácené DateTimeFormat vlastností a vlastností NumberFormatInfo instance vrácené NumberFormat vlastností. Pokud uživatelská nastavení nejsou kompatibilní s jazykovou verzí přidruženou CultureInfo k (například pokud vybraný kalendář není jedním z OptionalCalendars), výsledky metod a hodnoty vlastností nejsou definovány.
Pokud zadaný identifikátor jazykové verze neodpovídá identifikátoru aktuální jazykové verze systému Windows, tento konstruktor vytvoří CultureInfo , který používá výchozí hodnoty pro zadanou jazykovou verzi.
Vlastnost UseUserOverride je vždy nastavená na true
hodnotu .
Předpokládejme například, že aktuální jazykovou verzí Windows je arabština (Saúdská Arábie) a uživatel změnil kalendář z hidžra na gregoriánský.
With
CultureInfo("0x0401")
(název jazykové verze ar-SA), Calendar je nastavena na GregorianCalendar (což je uživatelské nastavení) a UseUserOverride je nastavená natrue
.With
CultureInfo("0x041E")
(název jazykové verze th-TH), Calendar je nastavena na ThaiBuddhistCalendar (což je výchozí kalendář pro th-TH) a UseUserOverride je nastavena natrue
.
Pro jazykové verze, které používají euro, nastavte .NET Framework a Windows XP výchozí měnu na euro. Starší verze Windows to ale nedělají. Proto pokud uživatel starší verze systému Windows nezměnil nastavení měny prostřednictvím místní a jazykové možnosti části Ovládacích panelů, měna může být nesprávná. Chcete-li použít výchozí nastavení rozhraní .NET Framework pro měnu, měla by aplikace použít CultureInfo přetížení konstruktoru useUserOverride
, který přijímá parametr, a nastavit ho na false
hodnotu .
Poznámka
Pro zpětnou kompatibilitu bude mít Name jazyková verze vytvořená pomocí culture
parametru 0x0004 nebo 0x7c04 vlastnost zh-CHS
nebo zh-CHT
. Měli byste raději vytvořit jazykovou verzi pomocí aktuálních standardních názvů jazykových verzí zh-Hans
nebo zh-Hant
, pokud nemáte důvod pro použití starších názvů.
Poznámky pro volající
Rozhraní .NET Framework 3.5 a starší verze vyvolat ArgumentExceptionculture
identifikátor jazykové verze není platný. Počínaje rozhraním .NET Framework 4 tento konstruktor vyvolá .CultureNotFoundException Počínaje aplikacemi, které běží v rozhraní .NET Framework 4 nebo novějším ve Windows 7 nebo novějším, se metoda pokusí načíst CultureInfo objekt, jehož identifikátor je culture
z operačního systému. Pokud operační systém tuto jazykovou verzi nepodporuje, metoda vyvolá CultureNotFoundException výjimku.
V .NET 6 a novějších verzích se vyvolá, pokud je aplikace spuštěná v prostředí, CultureNotFoundException ve kterém je povolený režim globalizace invariant, například některé kontejnery Dockeru a je zadaná jiná jazyková verze než neutrální jazyková verze.
Viz také
Platí pro
CultureInfo(String)
- Zdroj:
- CultureInfo.cs
- Zdroj:
- CultureInfo.cs
- Zdroj:
- CultureInfo.cs
Inicializuje novou instanci CultureInfo třídy na základě jazykové verze určené názvem.
public:
CultureInfo(System::String ^ name);
public CultureInfo (string name);
new System.Globalization.CultureInfo : string -> System.Globalization.CultureInfo
Public Sub New (name As String)
Parametry
- name
- String
Předdefinovaný CultureInfo název Name existující CultureInfoverze nebo název jazykové verze pouze pro Windows.
name
nerozlišuje velká a malá písmena.
Výjimky
name
má hodnotu null.
name
není platný název jazykové verze. Další informace najdete v části Poznámky pro volající.
Příklady
Následující příklad načte aktuální jazykovou verzi. Pokud je to něco jiného než francouzská (Francie), volá CultureInfo(String) konstruktor k vytvoření instance objektu, který představuje francouzskou CultureInfo (Francie) jazykovou verzi a činí z něj aktuální jazykovou verzi. V opačném případě vytvoří instanci objektu, který představuje francouzskou CultureInfo (lucemburskou) kulturu a činí z něj současnou kulturu.
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
Poznámky
Seznam předdefinovaných názvů jazykových verzí v systémech Windows najdete ve sloupci Značka jazyka v seznamu názvů jazyků a oblastí podporovaných systémem Windows. Názvy jazykových verzí se řídí standardem definovaným BCP 47. Kromě toho může být od Windows 10 name
libovolná platná značka jazyka BCP-47.
Pokud name
je String.Empty, konstruktor vytvoří instanci invariantní jazykové verze; to je ekvivalentní k načtení hodnoty InvariantCulture vlastnosti.
Uživatel se může rozhodnout přepsat některé hodnoty spojené s aktuální jazykovou verzí Systému Windows prostřednictvím části Místní a jazykové možnosti v Ovládacích panelech. Uživatel se například může rozhodnout zobrazit datum v jiném formátu nebo použít jinou měnu než výchozí pro jazykovou verzi. Pokud identifikátor jazykové verze přidružený name
k odpovídá identifikátoru jazykové verze aktuálního systému Windows, tento konstruktor vytvoří CultureInfo objekt, který používá tato přepsání, včetně uživatelských DateTimeFormatInfo nastavení pro vlastnosti instance vrácené DateTimeFormat vlastností a vlastností NumberFormatInfo instance vrácené NumberFormat vlastností. Pokud uživatelská nastavení nejsou kompatibilní s jazykovou verzí přidruženou CultureInfok , například pokud vybraný kalendář není jedním z OptionalCalendars, výsledky metod a hodnoty vlastností nejsou definovány.
Pokud identifikátor jazykové verze přidružené name
k neodpovídá identifikátoru jazykové verze aktuální jazykové verze systému Windows, tento konstruktor vytvoří CultureInfo objekt, který používá výchozí hodnoty pro zadanou jazykovou verzi.
Vlastnost UseUserOverride je vždy nastavená na true
hodnotu .
Předpokládejme například, že arabština (Saúdská Arábie) je aktuální jazykovou verzí Windows a uživatel změnil kalendář z hidžra na gregoriánský:
- U
CultureInfo("ar-SA")
je Calendar nastavená na GregorianCalendar (což je uživatelské nastavení) a UseUserOverride je nastavená natrue
. - U
CultureInfo("th-TH")
je Calendar nastavená na ThaiBuddhistCalendar (což je výchozí kalendář pro th-TH) a UseUserOverride je nastavená natrue
.
Vlastnost LCID new CultureInfo je nastavena na identifikátor jazykové verze přidružený k zadanému názvu.
Poznámky pro volající
Rozhraní .NET Framework 3.5 a starší verze vyvolá chybu ArgumentException if name
není platný název jazykové verze. Počínaje rozhraním .NET Framework 4 tento konstruktor vyvolá .CultureNotFoundException Počínaje aplikacemi, které běží v rozhraní .NET Framework 4 nebo novějším v systému Windows 7 nebo novějším, se metoda pokusí načíst CultureInfo objekt, jehož identifikátor je name
z operačního systému. Pokud operační systém tuto jazykovou verzi nepodporuje a pokud name
není názvem doplňkové nebo náhradní jazykové verze, metoda vyvolá CultureNotFoundException výjimku.
V .NET 6 a novějších verzích se vyvolá, pokud je aplikace spuštěná v prostředí, CultureNotFoundException ve kterém je povolený režim globalizace invariant, například některé kontejnery Dockeru a je zadaná jiná jazyková verze než neutrální jazyková verze.
Viz také
Platí pro
CultureInfo(Int32, Boolean)
- Zdroj:
- CultureInfo.cs
- Zdroj:
- CultureInfo.cs
- Zdroj:
- CultureInfo.cs
Inicializuje novou instanci CultureInfo třídy na základě jazykové verze určené identifikátorem jazykové verze a na hodnotě, která určuje, zda se má použít nastavení jazykové verze vybrané uživatelem ze systému 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)
Parametry
- culture
- Int32
Předdefinovaný CultureInfo identifikátor, LCID vlastnost existujícího CultureInfo objektu nebo identifikátor jazykové verze pouze systému Windows.
- useUserOverride
- Boolean
true
používat nastavení jazykové verze vybrané uživatelem (pouze Windows); false
a použijte výchozí nastavení jazykové verze.
Výjimky
Hodnota culture
je menší než nula.
culture
není platný identifikátor jazykové verze. Další informace najdete v části Poznámky pro volající.
Poznámky
Předdefinované identifikátory jazykové verze dostupné v systémech Windows jsou uvedené ve sloupci Značka jazyka v seznamu názvů jazyků a oblastí podporovaných systémem Windows. Názvy jazykových verzí se řídí standardem definovaným BCP 47.
Ve většině případů culture
se parametr mapuje na odpovídající identifikátor národního prostředí podpory národních jazyků (NLS). Hodnota parametru culture
se stane hodnotou LCID vlastnosti nového CultureInfo.
Doporučujeme volat konstruktor CultureInfo.CultureInfonázvu národního prostředí , protože názvy národních prostředí jsou vhodnější než identifikátory LCID. Pro vlastní národní prostředí se vyžaduje název národního prostředí.
Uživatel se může rozhodnout přepsat některé hodnoty spojené s aktuální jazykovou verzí Systému Windows prostřednictvím části Místní a jazykové možnosti v Ovládacích panelech. Uživatel se například může rozhodnout zobrazit datum v jiném formátu nebo použít jinou měnu než výchozí pro jazykovou verzi.
Aplikace by obvykle neměly zakázat přepsání uživatelů. Zakázání přepsání samo o sobě nezaručuje stabilitu dat. Další informace najdete v položce blogu Culture data by neměla být považována za stabilní (s výjimkou invariantní).
UseUserOverride Pokud je vlastnost nastavena na true
a zadaný identifikátor jazykové verze odpovídá identifikátoru aktuální jazykové verze systému Windows, tento konstruktor vytvoří CultureInfo , který používá tyto přepsání, včetně nastavení uživatele pro vlastnosti DateTimeFormatInfo instance vrácené DateTimeFormat vlastností a vlastnosti NumberFormatInfo instance vrácené NumberFormat vlastností. Pokud uživatelská nastavení nejsou kompatibilní s jazykovou verzí přidruženou CultureInfok , například pokud vybraný kalendář není jedním z OptionalCalendars, výsledky metod a hodnoty vlastností nejsou definovány.
V opačném případě tento konstruktor vytvoří , CultureInfo který používá výchozí hodnoty pro zadanou jazykovou verzi.
Hodnota parametru useUserOverride
se stane hodnotou UseUserOverride vlastnosti .
Předpokládejme například, že arabština (Saúdská Arábie) je aktuální jazykovou verzí Windows a uživatel změnil kalendář z hidžra na gregoriánský.
With
CultureInfo("0x0401", true)
(název jazykové verze ar-SA), Calendar je nastavena na GregorianCalendar (což je uživatelské nastavení) a UseUserOverride je nastavená natrue
.With
CultureInfo("0x0401", false)
(název jazykové verze ar-SA), Calendar je nastavená na HijriCalendar (což je výchozí kalendář pro ar-SA) a UseUserOverride je nastavená nafalse
.With
CultureInfo("0x041E", true)
(název jazykové verze th-TH), Calendar je nastavena na ThaiBuddhistCalendar (což je výchozí kalendář pro th-TH) a UseUserOverride je nastavena natrue
.With
CultureInfo("0x041E", false)
(název jazykové verze th-TH), Calendar je nastavena na ThaiBuddhistCalendar (což je výchozí kalendář pro th-TH) a UseUserOverride je nastavena nafalse
.
Pro jazykové verze, které používají euro, nastavte .NET Framework a Windows XP výchozí měnu na euro. Starší verze systému Windows to ale nedělají. Pokud tedy uživatel starší verze Systému Windows nezměnil nastavení měny prostřednictvím místní a jazykové části Ovládacích panelů, může být měna nesprávná. Pokud chcete použít výchozí nastavení rozhraní .NET Framework pro měnu, měla by aplikace nastavit useUserOverride
parametr na false
hodnotu .
Poznámka
Pro zpětnou kompatibilitu bude mít Name jazyková verze vytvořená pomocí culture
parametru 0x0004 nebo 0x7c04 vlastnost zh-CHS nebo zh-CHT. Měli byste raději vytvořit jazykovou verzi pomocí aktuálních standardních názvů jazykových verzí zh-Hans
nebo zh-Hant, pokud nemáte důvod používat starší názvy.
Poznámky pro volající
Rozhraní .NET Framework 3.5 a starší verze vyvolat ArgumentExceptionculture
identifikátor jazykové verze není platný. Počínaje rozhraním .NET Framework 4 tento konstruktor vyvolá .CultureNotFoundException Počínaje aplikacemi, které běží v rozhraní .NET Framework 4 nebo novějším ve Windows 7 nebo novějším, se metoda pokusí načíst CultureInfo objekt, jehož identifikátor je culture
z operačního systému. Pokud operační systém tuto jazykovou verzi nepodporuje, metoda vyvolá CultureNotFoundException výjimku.
V .NET 6 a novějších verzích se vyvolá, pokud je aplikace spuštěná v prostředí, CultureNotFoundException ve kterém je povolený režim globalizace invariant, například některé kontejnery Dockeru a je zadaná jiná jazyková verze než neutrální jazyková verze.
Viz také
Platí pro
CultureInfo(String, Boolean)
- Zdroj:
- CultureInfo.cs
- Zdroj:
- CultureInfo.cs
- Zdroj:
- CultureInfo.cs
Inicializuje novou instanci CultureInfo třídy na základě jazykové verze určené názvem a na hodnotě, která určuje, zda se má použít nastavení jazykové verze vybrané uživatelem ze systému 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)
Parametry
- name
- String
Předdefinovaný CultureInfo název Name existující CultureInfojazykové verze nebo název jazykové verze pouze pro Windows.
name
nerozlišuje velká a malá písmena.
- useUserOverride
- Boolean
true
používat nastavení jazykové verze vybrané uživatelem (pouze Windows); false
a použijte výchozí nastavení jazykové verze.
Výjimky
name
je null.
name
není platný název jazykové verze. Další informace najdete v části Poznámky pro volající.
Poznámky
Seznam předdefinovaných názvů jazykových verzí najdete ve sloupci Značka jazyka v seznamu názvů jazyků a oblastí podporovaných systémem Windows. Názvy jazykových verzí se řídí standardem definovaným BCP 47. Kromě toho může být počínaje Windows 10 name
libovolná platná značka jazyka BCP-47.
Pokud name
je String.Empty, konstruktor vytvoří instanci invariantní jazykové verze, což odpovídá načtení hodnoty InvariantCulture vlastnosti.
Uživatel se může rozhodnout přepsat některé z hodnot přidružených k aktuální jazykové verzi Systému Windows prostřednictvím části Místní a jazykové možnosti v Ovládacích panelech. Uživatel se například může rozhodnout zobrazit datum v jiném formátu nebo použít jinou měnu, než je výchozí jazyková verze.
Aplikace by obvykle neměly zakázat přepsání uživatelů. Zakázání přepsání samo o sobě nezaručuje stabilitu dat. Další informace najdete v příspěvku blogu Culture data by neměla být považována za stabilní (s výjimkou invariantní).
UseUserOverride Pokud je vlastnost nastavena na true
a identifikátor jazykové verze přidružený k zadanému názvu jazykové verze odpovídá identifikátoru jazykové verze aktuální jazykové verze systému Windows, vytvoří CultureInfo tento konstruktor, který používá tyto přepsání, včetně uživatelských DateTimeFormatInfo nastavení pro vlastnosti instance vrácené DateTimeFormat vlastností a vlastností NumberFormatInfo instance vrácených NumberFormat vlastností. Pokud jsou uživatelská nastavení nekompatibilní s jazykovou verzí přidruženou CultureInfok , například pokud vybraný kalendář není jedním z OptionalCalendars, výsledky metod a hodnoty vlastností nejsou definovány.
Jinak tento konstruktor vytvoří objekt CultureInfo , který používá výchozí hodnoty pro zadanou jazykovou verzi.
Hodnota parametru se useUserOverride
stane hodnotou UseUserOverride vlastnosti.
Předpokládejme například, že arabština (Saúdská Arábie) je aktuální jazykovou verzí Windows a uživatel změnil kalendář z Hidžra na gregoriánský.
U
CultureInfo("ar-SA", true)
je Calendar nastavená na GregorianCalendar (což je uživatelské nastavení) a UseUserOverride je nastavená natrue
.V nástroji
CultureInfo("ar-SA", false)
Calendar je nastavená na HijriCalendar hodnotu (což je výchozí kalendář pro ar-SA) a UseUserOverride je nastavená nafalse
.U
CultureInfo("th-TH", true)
je Calendar nastavená na ThaiBuddhistCalendar hodnotu (což je výchozí kalendář pro th-TH) a UseUserOverride je nastavená natrue
.U
CultureInfo("th-TH", false)
je Calendar nastavená na ThaiBuddhistCalendar hodnotu (což je výchozí kalendář pro th-TH) a UseUserOverride je nastavená nafalse
.
Vlastnost LCID nového CultureInfo je nastavena na identifikátor jazykové verze přidružený ke zadanému názvu.
Pro jazykové verze, které používají euro, nastavte .NET Framework a Windows XP výchozí měnu na euro. Starší verze Windows to ale nedělají. Pokud tedy uživatel starší verze Systému Windows nezměnil nastavení měny prostřednictvím místní a jazykové části Ovládacích panelů, může být měna nesprávná. Pokud chcete použít výchozí nastavení rozhraní .NET Framework pro měnu, měla by aplikace nastavit useUserOverride
parametr na false
hodnotu .
Poznámky pro volající
Rozhraní .NET Framework 3.5 a starší verze způsobí ArgumentException , že name
pokud není platný název jazykové verze. Počínaje rozhraním .NET Framework 4 tento konstruktor vyvolá CultureNotFoundException. Počínaje aplikacemi, které běží v rozhraní .NET Framework 4 nebo novějším ve Windows 7 nebo novějším, se metoda pokusí načíst CultureInfo objekt, jehož identifikátor je name
z operačního systému. Pokud operační systém nepodporuje danou jazykovou verzi a pokud name
není název doplňkové nebo náhradní jazykové verze, metoda vyvolá CultureNotFoundException výjimku.
V .NET 6 a novějších verzích se vyvolá, pokud je aplikace spuštěná v prostředí, CultureNotFoundException ve kterém je povolený globalizační invariantní režim, například některé kontejnery Dockeru a je zadána jiná jazyková verze než invariantní jazyková verze.