CultureInfo Konstruktory

Definice

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 zadané názvem.

CultureInfo(Int32, Boolean)

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 mají použít uživatelsky vybraná nastavení jazykové verze z Windows.

CultureInfo(String, Boolean)

Inicializuje novou instanci CultureInfo třídy na základě jazykové verze určené názvem a na hodnotě, která určuje, jestli se mají použít uživatelsky vybraná nastavení jazykové verze z Windows.

CultureInfo(Int32)

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 Windows.

Výjimky

Hodnota culture je menší než nula.

culture není platný identifikátor jazykové verze. Další informace najdete v části Poznámky volajícím.

Poznámky

Předdefinované identifikátory jazykové verze pro jazykové verze dostupné v systému Windows jsou uvedeny ve sloupci Značky jazyka v seznamu názvů jazyků a oblastí podporovaných Windows. Názvy jazykových verzí se řídí standardem definovaným BCP 47.

Ve většině případů culture je parametr namapován na odpovídající identifikátor národního prostředí podpory národního jazyka (NLS). Hodnota parametru culture se stane hodnotou LCID vlastnosti nové CultureInfo.

Doporučujeme volat konstruktor CultureInfo.CultureInfonázvu národního prostředí, protože názvy národního 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 přidružené k aktuální jazykové verzi Windows prostřednictvím oblasti a jazykové možnosti části Ovládací panely. Uživatel se může například 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í Windows, tento konstruktor vytvoříCultureInfo, který používá tyto přepsání, včetně uživatelských DateTimeFormatInfo nastavení pro vlastnosti instance vrácené DateTimeFormat vlastností a vlastnosti NumberFormatInfo instance vrácené vlastností NumberFormat vlastnosti. Pokud uživatelská nastavení nejsou kompatibilní s jazykovou verzí přidruženou CultureInfo (například pokud vybraný kalendář není jedním z OptionalCalendarsnich), výsledky metod a hodnoty vlastností nejsou definovány.

Pokud zadaný identifikátor jazykové verze neodpovídá identifikátoru aktuální Windows jazykové verze, vytvoří tento konstruktor výchozí CultureInfo hodnoty pro zadanou jazykovou verzi.

Vlastnost UseUserOverride je vždy nastavena na true.

Předpokládejme například, že arabština (Saúdská Arábie) je aktuální Windows kultura a uživatel změnil kalendář z Hidžra na Gregorián.

Pro jazykové verze, které používají euro, .NET Framework a Windows XP nastavte výchozí měnu jako euro. Starší verze Windows ale ne. Proto pokud uživatel starší verze Windows nezměnil nastavení měny prostřednictvím oblasti a jazykové možnosti části Ovládací panely, může být měna nesprávná. Chcete-li použít výchozí nastavení .NET Framework pro měnu, aplikace by měla použít CultureInfo přetížení konstruktoru, který přijímá useUserOverride parametr a nastavte jej na false.

Poznámka

Pro zpětnou kompatibilitu bude jazyková verze stavět pomocí culture parametru 0x0004 nebo 0x7c04 bude mít Name vlastnost nebo zh-CHTv zh-CHS uvedeném pořadí. Místo toho byste měli raději vytvořit jazykovou verzi pomocí aktuálních standardních zh-Hans názvů jazykové verze nebo zh-Hant, pokud nemáte důvod pro použití starších názvů.

Poznámky pro volající

.NET Framework verze 3.5 a starší verze vyvolá, ArgumentException pokud culture není platný identifikátor jazykové verze. Počínaje .NET Framework 4 tento konstruktor vyvolá CultureNotFoundException. Počínaje aplikacemi, které běží v .NET Framework 4 nebo novějším v Windows 7 nebo novějším, metoda se pokusí načíst CultureInfo objekt, jehož identifikátor je culture z operačního systému; pokud operační systém nepodporuje danou CultureNotFoundException jazykovou verzi, metoda vyvolá 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ý globální režim, například některé kontejnery Dockeru a jiná jazyková verze než invariantní jazyková verze je zadaná.

Viz také

Platí pro

CultureInfo(String)

Inicializuje novou instanci CultureInfo třídy na základě jazykové verze zadané 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í CultureInfojazykové verze nebo Windows. name nerozlišuje malá a velká písmena.

Výjimky

name je null.

name není platný název jazykové verze. Další informace najdete v části Poznámky volajícím.

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 vytvořit instanci CultureInfo objektu, který představuje francouzskou (Francii) kulturu a dělá ji aktuální kulturou. V opačném případě vytvoří instanci objektu CultureInfo , který představuje francouzskou (lucemburskou) kulturu a vytvoří ji aktuální kulturou.

using System;
using System.Globalization;

public class Example
{
   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é verze v systémech Windows najdete ve sloupci Značky jazyka v seznamu názvů jazyků a oblastí podporovaných Windows. Názvy jazykových verzí se řídí standardem definovaným BCP 47. Kromě toho, počínaje Windows 10, name může být libovolná platná jazyková značka BCP-47.

Pokud name je String.Empty, konstruktor vytvoří instanci invariantní jazykové verze; to je ekvivalentní načtení hodnoty InvariantCulture vlastnosti.

Uživatel se může rozhodnout přepsat některé hodnoty přidružené k aktuální jazykové verzi Windows prostřednictvím oblasti a jazykových možností Ovládací panely. Uživatel se například může rozhodnout zobrazit datum v jiném formátu nebo použít jinou měnu než výchozí jazykovou verzi. Pokud identifikátor jazykové verze asociované shoduje name s identifikátorem jazykové verze aktuální Windows jazykové verze, vytvoří tento konstruktor CultureInfo objekt, který tyto přepsání používá, včetně uživatelských nastavení vlastností DateTimeFormatInfo instance vrácené DateTimeFormat vlastností a vlastností NumberFormatInfo instance vrácené NumberFormat vlastností. Pokud jsou uživatelská nastavení nekompatibilní s jazykovou verzí přidruženou CultureInfonapříklad k vybranému kalendáři, OptionalCalendarsvýsledky metod a hodnoty vlastností nejsou definovány.

Pokud identifikátor jazykové verze přidružené name k aktuálnímu Windows jazykové verzi neodpovídá identifikátoru jazykové verze, vytvoří tento konstruktor CultureInfo objekt, který používá výchozí hodnoty pro zadanou jazykovou verzi.

Vlastnost UseUserOverride je vždy nastavena na true.

Předpokládejme například, že arabština (Saúdská Arábie) je aktuální kultura Windows a uživatel změnil kalendář z Hidžri na Gregoriánský.

Vlastnost LCID nového CultureInfo je nastavena na identifikátor jazykové verze přidružený k zadanému názvu.

Pro jazykové verze, které používají euro, nastaví .NET Framework a Windows XP výchozí měnu jako euro. Starší verze Windows to ale neprodělají. Proto pokud uživatel starší verze Windows nezměnil nastavení měny prostřednictvím oblasti a jazykové možnosti Ovládací panely, může být měna nesprávná. Pokud chcete použít výchozí nastavení .NET Framework pro měnu, měla by aplikace použít CultureInfo přetížení konstruktoru, který přijímá useUserOverride parametr a nastaví ho na false.

Poznámky pro volající

.NET Framework verze 3.5 a starší verze vyvolá, ArgumentException pokud name není platný název jazykové verze. Počínaje .NET Framework 4 tento konstruktor vyvolá CultureNotFoundException. Počínaje aplikacemi, které běží v .NET Framework 4 nebo novějším v Windows 7 nebo novějším, metoda se 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ý globální režim, například některé kontejnery Dockeru a jiná jazyková verze než invariantní jazyková verze je zadaná.

Viz také

Platí pro

CultureInfo(Int32, Boolean)

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 mají použít uživatelsky vybraná nastavení jazykové verze z 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 Windows.

useUserOverride
Boolean

truepoužít uživatelsky vybraná nastavení jazykové verze (pouze Windows); false použít 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 volajícím.

Poznámky

Předdefinované identifikátory jazykové verze dostupné v systémech Windows jsou uvedeny ve sloupci Značky jazyka v seznamu názvů jazyků a oblastí podporovaných Windows. Názvy jazykových verzí se řídí standardem definovaným BCP 47.

Ve většině případů culture je parametr namapován na odpovídající identifikátor národního prostředí podpory národního jazyka (NLS). Hodnota culture parametru 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ího prostředí jsou vhodnější než 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 přidružené k aktuální jazykové verzi Windows prostřednictvím oblasti a jazykových možností Ovládací panely. Uživatel se například může rozhodnout zobrazit datum v jiném formátu nebo použít jinou měnu než výchozí jazykovou verzi.

Aplikace by obvykle neměly zakázat přepsání uživatelů. Nepovolování přepsání sám nezaručuje stabilitu dat. Další informace najdete v záznamu jazykové verze blogu, který by neměl být považován za stabilní (s výjimkou invariantu).

UseUserOverride Pokud je vlastnost nastavena na true a zadaný identifikátor jazykové verze odpovídá identifikátoru aktuální Windows jazykové verze, tento konstruktor vytvoříCultureInfo, který používá tyto přepsání, včetně uživatelských nastavení vlastností DateTimeFormatInfo instance vrácené DateTimeFormat vlastností a vlastnosti NumberFormatInfo instance vrácené NumberFormat vlastností. Pokud jsou uživatelská nastavení nekompatibilní s jazykovou verzí přidruženou CultureInfonapříklad k vybranému kalendáři, OptionalCalendarsvýsledky metod a hodnoty vlastností nejsou definovány.

Jinak tento konstruktor vytvoří CultureInfo 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í kultura Windows a uživatel změnil kalendář z Hidžri na Gregoriánský.

Pro jazykové verze, které používají euro, nastaví .NET Framework a Windows XP výchozí měnu jako euro. Starší verze Windows ale nejsou. Proto pokud uživatel starší verze Windows nezměnil nastavení měny prostřednictvím oblasti a jazykové možnosti Ovládací panely, může být měna nesprávná. Pokud chcete použít výchozí nastavení .NET Framework pro měnu, měla by aplikace nastavit useUserOverride parametr na false.

Poznámka

Pro zpětnou kompatibilitu bude mít jazyková verze sestavená culture pomocí parametru 0x0004 nebo 0x7c04 Name vlastnost zh-CHS nebo zh-CHT. Místo toho byste měli raději vytvořit jazykovou verzi pomocí aktuálních standardních zh-Hans názvů jazykové verze nebo zh-Hant, pokud nemáte důvod pro použití starších názvů.

Poznámky pro volající

.NET Framework verze 3.5 a starší verze vyvolá, ArgumentException pokud culture není platný identifikátor jazykové verze. Počínaje .NET Framework 4 tento konstruktor vyvolá CultureNotFoundException. Počínaje aplikacemi, které běží v .NET Framework 4 nebo novějším v Windows 7 nebo novějším, metoda se pokusí načíst CultureInfo objekt, jehož identifikátor je culture z operačního systému; pokud operační systém nepodporuje danou CultureNotFoundException jazykovou verzi, metoda vyvolá 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ý globální režim, například některé kontejnery Dockeru a jiná jazyková verze než invariantní jazyková verze je zadaná.

Viz také

Platí pro

CultureInfo(String, Boolean)

Inicializuje novou instanci CultureInfo třídy na základě jazykové verze určené názvem a na hodnotě, která určuje, jestli se mají použít uživatelsky vybraná nastavení jazykové verze z 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 Windows. name nerozlišuje malá a velká písmena.

useUserOverride
Boolean

truepoužít uživatelsky vybraná nastavení jazykové verze (pouze Windows); false použít výchozí nastavení jazykové verze.

Výjimky

name je null.

name není platný název jazykové verze. Další informace najdete v části Poznámky volajícím.

Poznámky

Seznam předdefinovaných názvů jazykových verzí najdete ve sloupci Značky jazyka v seznamu názvů jazyka nebo oblastí podporovaných Windows. Názvy jazykových verzí se řídí standardem definovaným BCP 47. Kromě toho, počínaje Windows 10, name může být libovolná platná jazyková značka BCP-47.

Pokud name je String.Empty, konstruktor vytvoří instanci invariantní jazykové verze; to je ekvivalentní načtení hodnoty InvariantCulture vlastnosti.

Uživatel se může rozhodnout přepsat některé hodnoty spojené s aktuální Windows jazykovou verzí prostřednictvím oblasti a jazykových možností Ovládací panely. Uživatel se například může rozhodnout zobrazit datum v jiném formátu nebo použít jinou měnu než výchozí jazykovou verzi.

Aplikace by obvykle neměly zakázat přepsání uživatelů. Nepovolování přepsání sám nezaručuje stabilitu dat. Další informace najdete v záznamu jazykové verze blogu, který by neměl být považován za stabilní (s výjimkou invariantu).

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í Windows jazykové verze, tento konstruktor vytvoříCultureInfo, který používá tyto přepsání, včetně uživatelských nastavení vlastností DateTimeFormatInfo instance vrácené DateTimeFormat vlastností a vlastnosti NumberFormatInfo instance vrácené NumberFormat vlastností. Pokud jsou uživatelská nastavení nekompatibilní s jazykovou verzí přidruženou CultureInfonapříklad k vybranému kalendáři, OptionalCalendarsvýsledky metod a hodnoty vlastností nejsou definovány.

Jinak tento konstruktor vytvoří CultureInfo 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í kultura Windows a uživatel změnil kalendář z Hidžri na Gregoriánský.

Vlastnost LCID nového CultureInfo je nastavena na identifikátor jazykové verze přidružený k zadanému názvu.

Pro jazykové verze, které používají euro, nastaví .NET Framework a Windows XP výchozí měnu jako euro. Starší verze Windows to ale nedělá. Proto pokud uživatel starší verze Windows nezměnil nastavení měny prostřednictvím oblasti a jazykové možnosti části Ovládací panely, může být měna nesprávná. Pokud chcete použít výchozí nastavení .NET Framework pro měnu, měla by aplikace nastavit useUserOverride parametr na false.

Poznámky pro volající

.NET Framework verze 3.5 a starší verze způsobíArgumentException, že name není platný název jazykové verze. Počínaje .NET Framework 4 tento konstruktor vyvolá CultureNotFoundException. Počínaje aplikacemi, které běží v .NET Framework 4 nebo novějším v Windows 7 nebo novějším, metoda se 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 je vyvolán vyvolán CultureNotFoundException , pokud je aplikace spuštěná v prostředí, ve kterém je povolený globální režim, například některé kontejnery Dockeru a jiná jazyková verze než invariantní jazyková verze.

Viz také

Platí pro