Jazyk

CultureInfo Konstruktory

Definice

Inicializuje novou instanci CultureInfo třídy.

Přetížení

Name Description
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)

Zdroj:
CultureInfo.cs
Zdroj:
CultureInfo.cs
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 jen pro 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 systémem Windows. Názvy kulturní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í národní podpory (NLS). Hodnota culture parametru 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ž LCID. Pro vlastní národní prostředí se vyžaduje název národního prostředí.

Uživatel se může rozhodnout změnit některé hodnoty spojené s aktuální jazykovou verzí Windows prostřednictvím části Možnosti oblasti a jazyka v Ovládacích panelech. Uživatel se může rozhodnout zobrazit datum v jiném formátu nebo použít jinou měnu než výchozí pro danou kulturu. Pokud zadaný identifikátor jazykové verze odpovídá identifikátoru jazykové verze aktuální jazykové verze systému Windows, tento konstruktor vytvoří CultureInfo , který používá tyto přepsání, včetně uživatelských nastavení pro vlastnosti 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 k objektu 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í jazykové verze Systému Windows, vytvoří tento konstruktor CultureInfo výchozí hodnoty pro zadanou jazykovou verzi.

Vlastnost UseUserOverride je vždy nastavena na truehodnotu .

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

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

Note

Pro zpětnou kompatibilitu bude jazyková verze konstruovaná pomocí culture parametru 0x0004 nebo 0x7c04 mít Name vlastnost zh-CHS nebo zh-CHT, v uvedeném pořadí. Místo toho byste měli raději vytvořit jazykovou verzi s použitím 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ů.

Note

Identifikátory LCI jsou zastaralé a implementátory se důrazně doporučuje používat novější verze rozhraní API, která místo toho podporují názvy národního prostředí BCP 47. Každý identifikátor LCID může být reprezentován názvem národního prostředí BCP 47, ale obrácený název není pravdivý. Rozsah LCID je omezený a nemůže jednoznačně identifikovat všechny možné kombinace jazyka a oblasti.

Poznámky pro volající

Rozhraní .NET Framework 3.5 a starší verze vyvolá ArgumentException identifikátor jazykové verze, pokud culture není platný identifikátor jazykové verze. Počínaje rozhraním .NET Framework 4 tento konstruktor vyvolá CultureNotFoundExceptionvýjimku . Počínaje aplikacemi, které běží v rozhraní .NET Framework 4 nebo novějším ve 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 tuto jazykovou verzi nepodporuje, vyvolá metoda CultureNotFoundException výjimku.

V .NET 6 a novějších verzích se vyvolá, pokud je aplikace spuštěná v prostředí, CultureNotFoundException kde je povolen režim globalizace, například některé kontejnery Dockeru a jiná jazyková verze než invariantní jazyková verze je určená.

Viz také

Platí pro

CultureInfo(String)

Zdroj:
CultureInfo.cs
Zdroj:
CultureInfo.cs
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í CultureInfojazykové verze nebo jen pro 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í nastavení kultury. Pokud je něco jiného než francouzská (Francie), volá CultureInfo(String) konstruktor vytvořit instanci CultureInfo objektu, který představuje francouzskou (Francouzskou) kulturu a činí ji aktuální jazykovou verzí. V opačném případě vytvoří instanci CultureInfo objektu, který představuje francouzskou kulturu (Lucembursko) a činí ji současnou kulturou.

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 kulturních verzí se řídí standardem definovaným BCP 47. Kromě toho, počínaje Windows 10, name může být libovolná platná značka jazyka 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 změnit některé hodnoty spojené s aktuální jazykovou verzí Windows prostřednictvím části Možnosti oblasti a jazyka v Ovládacích panelech. Uživatel se může rozhodnout zobrazit datum v jiném formátu nebo použít jinou měnu než výchozí pro danou kulturu. Pokud identifikátor jazykové verze přidružené k name identifikátoru jazykové verze aktuální verze Systému Windows, tento konstruktor vytvoří CultureInfo objekt, který používá tyto přepsání, včetně uživatelských nastavení pro vlastnosti 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 k CultureInfo, například pokud vybraný kalendář není jedním ze OptionalCalendars, výsledky metod a hodnoty vlastností nejsou definovány.

Pokud identifikátor jazykové verze přidružené name 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 nastavena na truehodnotu .

Předpokládejme například, že arabština (Saúdská Arábie) je aktuální jazyková verze Systému Windows a uživatel změnil kalendář z Hidžra na Gregoriánský:

LCID Vlastnost nové 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á výjimku ArgumentException , pokud name není platný název jazykové verze. Počínaje rozhraním .NET Framework 4 tento konstruktor vyvolá CultureNotFoundExceptionvýjimku . Počínaje aplikacemi, které běží v rozhraní .NET Framework 4 nebo novějším ve 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, vyvolá metoda CultureNotFoundException výjimku.

V .NET 6 a novějších verzích se vyvolá, pokud je aplikace spuštěná v prostředí, CultureNotFoundException kde je povolen režim globalizace, například některé kontejnery Dockeru a jiná jazyková verze než invariantní jazyková verze je určená.

Viz také

Platí pro

CultureInfo(Int32, Boolean)

Zdroj:
CultureInfo.cs
Zdroj:
CultureInfo.cs
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 jen pro Windows.

useUserOverride
Boolean

true používat 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čka jazyka v seznamu názvů jazyků a oblastí podporovaných systémem Windows. Názvy kulturní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í národní podpory (NLS). Hodnota culture parametru 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ž LCID. Pro vlastní národní prostředí se vyžaduje název národního prostředí.

Uživatel se může rozhodnout změnit některé hodnoty spojené s aktuální jazykovou verzí Windows prostřednictvím části Možnosti oblasti a jazyka v Ovládacích panelech. Uživatel se může rozhodnout zobrazit datum v jiném formátu nebo použít jinou měnu než výchozí pro danou kulturu.

Aplikace by obvykle neměly zakázat přepsání uživatelů. Zákaz přepsání sama o sobě nezaručuje stabilitu dat. Další informace naleznete v blogové položce Culture data by neměla být považována za stabilní (s výjimkou Invariant).

UseUserOverride Pokud je vlastnost nastavena 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ě uživatelských nastavení pro vlastnosti 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 k CultureInfo, například pokud vybraný kalendář není jedním ze OptionalCalendars, vý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í jazyková verze Systému Windows a uživatel změnil kalendář z Hidžra na Gregoriánský.

  • Při CultureInfo("0x0401", true) použití (název jazykové verze ar-SA) Calendar je nastavena ( GregorianCalendar což je uživatelské nastavení) a UseUserOverride je nastavena na truehodnotu .

  • Při CultureInfo("0x0401", false) použití (název jazykové verze ar-SA) Calendar je nastaven ( HijriCalendar což je výchozí kalendář pro ar-SA) a UseUserOverride je nastaven na falsehodnotu .

  • Při CultureInfo("0x041E", true) použití (název jazykové verze th-TH) Calendar je nastaven ( ThaiBuddhistCalendar což je výchozí kalendář pro th-TH) a UseUserOverride je nastaven na truehodnotu .

  • Při CultureInfo("0x041E", false) použití (název jazykové verze th-TH) Calendar je nastaven ( ThaiBuddhistCalendar což je výchozí kalendář pro th-TH) a UseUserOverride je nastaven na falsehodnotu .

Pro jazykové verze, které používají euro, nastavují rozhraní .NET Framework a Windows XP výchozí měnu jako euro. Starší verze Systému Windows však ne. Proto pokud uživatel starší verze Windows nezměnil nastavení měny prostřednictvím oblasti a jazykové možnosti čá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.

Note

Pro zpětnou kompatibilitu bude jazyková verze daná pomocí culture parametru 0x0004 nebo 0x7c04 mít 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 názvů zh-Hans jazykové verze nebo zh-Hant, pokud nemáte důvod pro použití starších názvů.

Note

Identifikátory LCI jsou zastaralé a implementátory se důrazně doporučuje používat novější verze rozhraní API, která místo toho podporují názvy národního prostředí BCP 47. Každý identifikátor LCID může být reprezentován názvem národního prostředí BCP 47, ale obrácený název není pravdivý. Rozsah LCID je omezený a nemůže jednoznačně identifikovat všechny možné kombinace jazyka a oblasti.

Poznámky pro volající

Rozhraní .NET Framework 3.5 a starší verze vyvolá ArgumentException identifikátor jazykové verze, pokud culture není platný identifikátor jazykové verze. Počínaje rozhraním .NET Framework 4 tento konstruktor vyvolá CultureNotFoundExceptionvýjimku . Počínaje aplikacemi, které běží v rozhraní .NET Framework 4 nebo novějším ve 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 tuto jazykovou verzi nepodporuje, vyvolá metoda CultureNotFoundException výjimku.

V .NET 6 a novějších verzích se vyvolá, pokud je aplikace spuštěná v prostředí, CultureNotFoundException kde je povolen režim globalizace, například některé kontejnery Dockeru a jiná jazyková verze než invariantní jazyková verze je určená.

Viz také

Platí pro

CultureInfo(String, Boolean)

Zdroj:
CultureInfo.cs
Zdroj:
CultureInfo.cs
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 jen pro Windows. name nerozlišuje malá a velká písmena.

useUserOverride
Boolean

true používat 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čka jazyka v seznamu názvů jazyků a oblastí podporovaných systémem Windows. Názvy kulturních verzí se řídí standardem definovaným BCP 47. Kromě toho, počínaje Windows 10, name může být libovolná platná značka jazyka 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í jazykovou verzí Systému Windows prostřednictvím oblasti a jazykové možnosti části Ovládacích panelů. Uživatel se může rozhodnout zobrazit datum v jiném formátu nebo použít jinou měnu než výchozí pro danou kulturu.

Aplikace by obvykle neměly zakázat přepsání uživatelů. Zákaz přepsání sama o sobě nezaručuje stabilitu dat. Další informace naleznete v blogové položce Culture data by neměla být považována za stabilní (s výjimkou Invariant).

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átor jazykové verze aktuální verze systému Windows, tento konstruktor vytvoříCultureInfo, který používá tyto přepsání, včetně uživatelských nastavení pro vlastnosti 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 k CultureInfo, například pokud vybraný kalendář není jedním ze OptionalCalendars, vý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í jazyková verze Systému Windows a uživatel změnil kalendář z Hidžra na Gregoriánský.

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

Pro jazykové verze, které používají euro, nastavují rozhraní .NET Framework a Windows XP výchozí měnu jako euro. Starší verze Windows to ale neudělají. Proto pokud uživatel starší verze Windows nezměnil nastavení měny prostřednictvím oblasti a jazykové možnosti čá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.

Poznámky pro volající

Rozhraní .NET Framework 3.5 a starší verze vyvolá výjimku ArgumentException , pokud name není platný název jazykové verze. Počínaje rozhraním .NET Framework 4 tento konstruktor vyvolá CultureNotFoundExceptionvýjimku . Počínaje aplikacemi, které běží v rozhraní .NET Framework 4 nebo novějším ve 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, vyvolá metoda CultureNotFoundException výjimku.

V .NET 6 a novějších verzích se vyvolá, pokud je aplikace spuštěná v prostředí, CultureNotFoundException kde je povolen režim globalizace, například některé kontejnery Dockeru a jiná jazyková verze než invariantní jazyková verze je určená.

Viz také

Platí pro