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 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ích 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í 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 truehodnotu .

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

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í panely, může být měna 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 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ě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 počínaje 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ích 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í 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 truehodnotu .

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

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ě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, 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.

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

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