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 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 hodnotě, 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 hodnotě, která určuje, zda se má použít nastavení jazykové verze vybrané uživatelem ze systému 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 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 uvedené 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 je parametr mapován 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 CultureInfoparametru .

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 LCI. 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 Systému Windows prostřednictvím části místní a jazykové možnosti 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ž je výchozí jazyková verze. 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á 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 CultureInfo k jazykové verzi (například pokud vybraný kalendář není jedním z OptionalCalendars), výsledky metod a hodnot vlastností nejsou definovány.

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

Vlastnost UseUserOverride je vždy nastavená na true.

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

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 Windows nezměnil nastavení měny prostřednictvím místní a jazykové části Ovládací panely, 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 použít CultureInfo přetížení konstruktoru useUserOverride , které přijímá parametr, a nastavit ho na falsehodnotu .

Poznámka

Pro zpětnou kompatibilitu bude mít Name jazyková verze vytvořená pomocí parametru culture 0x0004 nebo 0x7c04 vlastnost zh-CHS nebo zh-CHT. Raději byste raději vytvořili jazykovou verzi s použitím 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 vyvolá chybu ArgumentException , pokud culture není platným identifikátorem 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 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ý globalizační invariantní režim, například některé kontejnery Dockeru a je zadána jiná jazyková verze než invariantní jazyková verze.

Viz také

Platí pro

CultureInfo(String)

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ího CultureInfonázvu jazykové verze nebo názvu jazykové verze pouze pro Windows. name nerozlišuje velká a malá písmena.

Výjimky

name je 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 se jedná o něco jiného než francouzskou (Francie), zavolá CultureInfo(String) konstruktor, který vytvoří instanci objektu, který představuje francouzskou (Francouzskou CultureInfo ) kulturu a učiní z ní aktuální jazykovou verzi. V opačném případě vytvoří instanci objektu CultureInfo , který představuje francouzskou (lucemburskou) kulturu a činí z ní aktuální jazykovou verzi.

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ý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, počínaje Windows 10, name může být jakákoli 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é hodnoty přidružené k aktuální jazykové verzi Systému Windows prostřednictvím části místní a jazykové možnosti 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ž je výchozí jazyková verze. Pokud identifikátor jazykové verze přidružený k name odpovídá identifikátoru jazykové verze aktuální jazykové verze systému Windows, vytvoří CultureInfo tento konstruktor 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ý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.

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.

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

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, 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 Windows nezměnil nastavení měny prostřednictvím místní a jazykové části Ovládací panely, 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 použít CultureInfo přetížení konstruktoru useUserOverride , které přijímá parametr, a nastavit ho na falsehodnotu .

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.

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 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 je parametr mapován 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 CultureInfoparametru .

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 LCI. 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 Systému Windows prostřednictvím části místní a jazykové možnosti 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ž 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 zadaný identifikátor jazykové verze odpovídá identifikátoru 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ý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.

V opačném případě tento konstruktor vytvoří CultureInfo objekt, 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ý.

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 Windows nezměnil nastavení měny prostřednictvím místní a jazykové části Ovládací panely, 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 falsehodnotu .

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ísto toho byste měli 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 vyvolá chybu ArgumentException , pokud culture není platným identifikátorem 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 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ý globalizační invariantní režim, například některé kontejnery Dockeru a je zadána jiná jazyková verze než invariantní jazyková verze.

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, 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ího CultureInfonázvu jazykové verze nebo názvu 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, počínaje Windows 10, name může být jakákoli 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é hodnoty přidružené k aktuální jazykové verzi Systému Windows prostřednictvím místní a jazykové části 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ž 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.

V opačném případě tento konstruktor vytvoří CultureInfo objekt, 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ý.

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, 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 Windows nezměnil nastavení měny prostřednictvím místní a jazykové části Ovládací panely, 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 falsehodnotu .

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.

Viz také

Platí pro