CultureInfo Konstruktory

Definicja

Inicjuje nowe wystąpienie klasy CultureInfo.

Przeciążenia

CultureInfo(Int32)

Inicjuje nowe wystąpienie CultureInfo klasy na podstawie kultury określonej przez identyfikator kultury.

CultureInfo(String)

Inicjuje CultureInfo nowe wystąpienie klasy na podstawie kultury określonej przez nazwę.

CultureInfo(Int32, Boolean)

Inicjuje nowe wystąpienie CultureInfo klasy na podstawie kultury określonej przez identyfikator kultury i na wartości określającej, czy mają być używane ustawienia kultury wybrane przez użytkownika z systemu Windows.

CultureInfo(String, Boolean)

Inicjuje nowe wystąpienie CultureInfo klasy na podstawie kultury określonej przez nazwę i na wartości określającej, czy mają być używane ustawienia kultury wybrane przez użytkownika z systemu Windows.

CultureInfo(Int32)

Source:
CultureInfo.cs
Source:
CultureInfo.cs
Source:
CultureInfo.cs

Inicjuje nowe wystąpienie CultureInfo klasy na podstawie kultury określonej przez identyfikator kultury.

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

Wstępnie zdefiniowany CultureInfo identyfikator, LCID właściwość istniejącego CultureInfo obiektu lub identyfikator kultury tylko dla systemu Windows.

Wyjątki

Parametr culture ma wartość niższą niż zero.

culture nie jest prawidłowym identyfikatorem kultury. Aby uzyskać więcej informacji, zobacz sekcję Uwagi do osób wywołujących.

Uwagi

Wstępnie zdefiniowane identyfikatory kultury dla kultur dostępnych w systemie Windows są wyświetlane w kolumnie Tag języka na liście nazw języków/regionów obsługiwanych przez system Windows. Nazwy kultur są zgodne ze standardem zdefiniowanym przez BCP 47.

W większości przypadków culture parametr jest mapowany na odpowiedni identyfikator ustawień regionalnych obsługi języka narodowego (NLS). Wartość parametru culture staje się wartością LCID właściwości nowego CultureInfo.

Zalecamy wywołanie konstruktora CultureInfo.CultureInfonazw ustawień regionalnych , ponieważ lepiej jest używać nazw ustawień regionalnych do identyfikatorów LCID. W przypadku ustawień regionalnych niestandardowych wymagana jest nazwa ustawień regionalnych.

Użytkownik może wybrać do nadpisania niektóre wartości skojarzone z bieżącą kulturą systemu Windows korzystając z opcji ustawień regionalnych i językowych w panelu sterowania. Na przykład, użytkownik może wybrać do wyświetlania datę w innym formacie lub użyć waluty innej niż domyślna dla danej kultury. Jeśli określony identyfikator kultury jest zgodny z identyfikatorem kultury bieżącej kultury systemu Windows, ten konstruktor tworzy obiekt CultureInfo , który używa tych przesłonięć, w tym ustawień użytkownika dla właściwości DateTimeFormatInfo wystąpienia zwróconych przez DateTimeFormat właściwość oraz właściwości NumberFormatInfo wystąpienia zwróconego przez NumberFormat właściwość. Jeśli ustawienia użytkownika są niezgodne z kulturą skojarzoną z CultureInfo elementem (na przykład jeśli wybrany kalendarz nie jest jednym z OptionalCalendarsnich ), wyniki metod i wartości właściwości są niezdefiniowane.

Jeśli określony identyfikator kultury nie jest zgodny z identyfikatorem bieżącej kultury systemu Windows, ten konstruktor tworzy CultureInfo obiekt, który używa wartości domyślnych dla określonej kultury.

Właściwość jest zawsze ustawiona UseUserOverride na truewartość .

Załóżmy na przykład, że arabski (Arabia Saudyjska) jest bieżącą kulturą systemu Windows, a użytkownik zmienił kalendarz z Hidżri na gregoriański.

W przypadku kultur używających euro .NET Framework i Windows XP ustaw domyślną walutę jako euro. Jednak starsze wersje systemu Windows nie. W związku z tym, jeśli użytkownik starszej wersji systemu Windows nie zmienił ustawienia waluty korzystając z opcji ustawień regionalnych i językowych w panelu sterowania, waluty mogą być niepoprawne. Aby użyć domyślnego ustawienia .NET Framework dla waluty, aplikacja powinna używać CultureInfo przeciążenia konstruktora, który akceptuje useUserOverride parametr i ustawia go na falsewartość .

Uwaga

W przypadku zgodności z poprzednimi wersjami kultura zbudowana przy użyciu culture parametru 0x0004 lub 0x7c04 będzie mieć Name odpowiednio właściwość zh-CHS lub zh-CHT. Zamiast tego należy wolisz utworzyć kulturę przy użyciu bieżących standardowych nazw zh-Hans kultur lub zh-Hant, chyba że masz powód do używania starszych nazw.

Uwagi dotyczące wywoływania

.NET Framework wersji 3.5 i starszych zgłaszają ArgumentException wartość , jeśli culture nie jest prawidłowym identyfikatorem kultury. Począwszy od .NET Framework 4, ten konstruktor zgłasza błąd CultureNotFoundException. Począwszy od aplikacji działających w systemie .NET Framework 4 lub nowszym w systemie Windows 7 lub nowszym, metoda próbuje pobrać CultureInfo obiekt, którego identyfikator pochodzi culture z systemu operacyjnego; jeśli system operacyjny nie obsługuje tej kultury, metoda zgłasza CultureNotFoundException wyjątek.

Na platformie .NET 6 i nowszych wersjach CultureNotFoundException jest zgłaszana wartość , jeśli aplikacja jest uruchomiona w środowisku, w którym włączono tryb niezmienny globalizacji, na przykład niektóre kontenery platformy Docker i kulturę inną niż określona jest niezmienna kultura.

Zobacz też

Dotyczy

CultureInfo(String)

Source:
CultureInfo.cs
Source:
CultureInfo.cs
Source:
CultureInfo.cs

Inicjuje CultureInfo nowe wystąpienie klasy na podstawie kultury określonej przez nazwę.

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

Wstępnie zdefiniowana CultureInfo nazwa Name istniejącej CultureInfokultury lub tylko dla systemu Windows. name nie uwzględnia wielkości liter.

Wyjątki

name ma wartość null.

name nie jest prawidłową nazwą kultury. Aby uzyskać więcej informacji, zobacz sekcję Uwagi do rozmówców.

Przykłady

Poniższy przykład pobiera bieżącą kulturę. Jeśli jest to coś innego niż kultura francuska (Francja), wywołuje CultureInfo(String) konstruktora, aby utworzyć wystąpienie CultureInfo obiektu reprezentującego kulturę francuską (Francja) i czyni ją obecną kulturą. W przeciwnym razie tworzy wystąpienie obiektu, który reprezentuje kulturę CultureInfo francuską (Luksemburg) i czyni ją obecną kulturą.

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

Uwagi

Aby uzyskać listę wstępnie zdefiniowanych nazw kultur w systemach Windows, zobacz kolumnę Tag języka na liście nazw języków/regionów obsługiwanych przez system Windows. Nazwy kultur są zgodne ze standardem zdefiniowanym przez BCP 47. Ponadto, począwszy od Windows 10, name może być dowolnym prawidłowym tagiem języka BCP-47.

Jeśli name parametr ma String.Emptywartość , konstruktor tworzy wystąpienie niezmiennej kultury. Jest to równoważne pobieraniu InvariantCulture wartości właściwości.

Użytkownik może wybrać do nadpisania niektóre wartości skojarzone z bieżącą kulturą systemu Windows korzystając z opcji ustawień regionalnych i językowych w panelu sterowania. Na przykład, użytkownik może wybrać do wyświetlania datę w innym formacie lub użyć waluty innej niż domyślna dla danej kultury. Jeśli identyfikator kultury skojarzony z jest zgodny z name identyfikatorem kultury bieżącej kultury systemu Windows, ten konstruktor tworzy CultureInfo obiekt, który używa tych przesłonięć, w tym ustawień użytkownika dla właściwości DateTimeFormatInfo wystąpienia zwróconych przez DateTimeFormat właściwość oraz właściwości NumberFormatInfo wystąpienia zwróconego przez NumberFormat właściwość. Jeśli ustawienia użytkownika są niezgodne z kulturą skojarzoną z CultureInfoprogramem , na przykład jeśli wybrany kalendarz nie jest jednym z OptionalCalendarselementów , wyniki metod i wartości właściwości są niezdefiniowane.

Jeśli identyfikator kultury skojarzony z elementem nie jest zgodny z name identyfikatorem kultury bieżącej kultury systemu Windows, ten konstruktor tworzy CultureInfo obiekt, który używa wartości domyślnych dla określonej kultury.

Właściwość jest zawsze ustawiona UseUserOverride na truewartość .

Załóżmy na przykład, że arabski (Arabia Saudyjska) jest bieżącą kulturą systemu Windows, a użytkownik zmienił kalendarz z Hidżri na Gregoriański:

Właściwość LCID nowego CultureInfo jest ustawiona na identyfikator kultury skojarzony z określoną nazwą.

Uwagi dotyczące wywoływania

.NET Framework wersji 3.5 i starszych zgłaszają ArgumentException wartość , jeśli name nie jest prawidłową nazwą kultury. Począwszy od .NET Framework 4, ten konstruktor zgłasza błąd CultureNotFoundException. Począwszy od aplikacji uruchamianych w systemie .NET Framework 4 lub nowszym w systemie Windows 7 lub nowszym, metoda próbuje pobrać CultureInfo obiekt, którego identyfikator pochodzi name z systemu operacyjnego; jeśli system operacyjny nie obsługuje tej kultury, a jeśli name nie jest nazwą kultury dodatkowej lub zastępczej, metoda zgłasza CultureNotFoundException wyjątek.

Na platformie .NET 6 i nowszych wersjach CultureNotFoundException jest zgłaszana wartość , jeśli aplikacja jest uruchomiona w środowisku, w którym włączono tryb niezmienny globalizacji, na przykład niektóre kontenery platformy Docker i kulturę inną niż określona jest niezmienna kultura.

Zobacz też

Dotyczy

CultureInfo(Int32, Boolean)

Source:
CultureInfo.cs
Source:
CultureInfo.cs
Source:
CultureInfo.cs

Inicjuje CultureInfo nowe wystąpienie klasy w oparciu o kulturę określoną przez identyfikator kultury i wartość określającą, czy używać ustawień kultury wybranych przez użytkownika z systemu 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

Wstępnie zdefiniowany CultureInfo identyfikator, LCID właściwość istniejącego CultureInfo obiektu lub identyfikator kultury tylko dla systemu Windows.

useUserOverride
Boolean

true do korzystania z ustawień kultury wybranych przez użytkownika (tylko system Windows); false aby użyć domyślnych ustawień kultury.

Wyjątki

Parametr culture ma wartość niższą niż zero.

culture nie jest prawidłowym identyfikatorem kultury. Aby uzyskać więcej informacji, zobacz sekcję Uwagi do osób wywołujących.

Uwagi

Wstępnie zdefiniowane identyfikatory kultury dostępne w systemach Windows są wymienione w kolumnie Tag języka na liście nazw języków/regionów obsługiwanych przez system Windows. Nazwy kultur są zgodne ze standardem zdefiniowanym przez BCP 47.

W większości przypadków culture parametr jest mapowany na odpowiedni identyfikator ustawień regionalnych obsługi języka narodowego (NLS). Wartość parametru culture staje się wartością LCID właściwości nowego CultureInfo.

Zalecamy wywołanie konstruktora CultureInfo.CultureInfonazw ustawień regionalnych , ponieważ lepiej jest używać nazw ustawień regionalnych do identyfikatorów LCID. W przypadku ustawień regionalnych niestandardowych wymagana jest nazwa ustawień regionalnych.

Użytkownik może wybrać do nadpisania niektóre wartości skojarzone z bieżącą kulturą systemu Windows korzystając z opcji ustawień regionalnych i językowych w panelu sterowania. Na przykład, użytkownik może wybrać do wyświetlania datę w innym formacie lub użyć waluty innej niż domyślna dla danej kultury.

Aplikacje zwykle nie powinny zezwalać na przesłonięcia użytkowników. Nie zezwalanie na przesłonięcia nie gwarantuje stabilności danych. Aby uzyskać więcej informacji, zobacz wpis w blogu Dane kultury nie powinny być uznawane za stabilne (z wyjątkiem niezmiennego).

UseUserOverride Jeśli właściwość jest ustawiona na true , a określony identyfikator kultury jest zgodny z identyfikatorem bieżącej kultury systemu Windows, ten konstruktor tworzy CultureInfo obiekt, który używa tych przesłonięć, w tym ustawień użytkownika dla właściwości DateTimeFormatInfo wystąpienia zwróconego przez DateTimeFormat właściwość i właściwości NumberFormatInfo wystąpienia zwróconego przez NumberFormat właściwość. Jeśli ustawienia użytkownika są niezgodne z kulturą skojarzoną z CultureInfoprogramem , na przykład jeśli wybrany kalendarz nie jest jednym z OptionalCalendarselementów , wyniki metod i wartości właściwości są niezdefiniowane.

W przeciwnym razie ten konstruktor tworzy obiekt CultureInfo , który używa wartości domyślnych dla określonej kultury.

Wartość parametru useUserOverride staje się wartością UseUserOverride właściwości .

Załóżmy na przykład, że arabski (Arabia Saudyjska) jest bieżącą kulturą systemu Windows, a użytkownik zmienił kalendarz z Hidżri na gregoriański.

W przypadku kultur, w których walutą jest euro, architektura .NET Framework i Windows XP ustawia domyślną walutę jako euro. Jednak starsze wersje systemu Windows nie są. W związku z tym, jeśli użytkownik starszej wersji systemu Windows nie zmienił ustawienia waluty korzystając z opcji ustawień regionalnych i językowych w panelu sterowania, waluty mogą być niepoprawne. Aby użyć ustawienia domyślnego .NET Framework dla waluty, aplikacja powinna ustawić useUserOverride parametr na false.

Uwaga

W przypadku zgodności z poprzednimi wersjami kultura zbudowana przy użyciu culture parametru 0x0004 lub 0x7c04 będzie mieć Name właściwość zh-CHS lub zh-CHT, odpowiednio. Zamiast tego należy wolisz konstruować kulturę przy użyciu obecnych zh-Hans standardowych nazw kultury lub zh-Hant, chyba że masz powód do używania starszych nazw.

Uwagi dotyczące wywoływania

.NET Framework wersji 3.5 i starszych zgłaszają ArgumentException wartość , jeśli culture nie jest prawidłowym identyfikatorem kultury. Począwszy od .NET Framework 4, ten konstruktor zgłasza błąd CultureNotFoundException. Począwszy od aplikacji działających w systemie .NET Framework 4 lub nowszym w systemie Windows 7 lub nowszym, metoda próbuje pobrać CultureInfo obiekt, którego identyfikator pochodzi culture z systemu operacyjnego; jeśli system operacyjny nie obsługuje tej kultury, metoda zgłasza CultureNotFoundException wyjątek.

Na platformie .NET 6 i nowszych wersjach CultureNotFoundException jest zgłaszana wartość , jeśli aplikacja jest uruchomiona w środowisku, w którym włączono tryb niezmienny globalizacji, na przykład niektóre kontenery platformy Docker i kulturę inną niż określona jest niezmienna kultura.

Zobacz też

Dotyczy

CultureInfo(String, Boolean)

Source:
CultureInfo.cs
Source:
CultureInfo.cs
Source:
CultureInfo.cs

Inicjuje CultureInfo nowe wystąpienie klasy w oparciu o kulturę określoną przez nazwę i wartość określającą, czy używać ustawień kultury wybranych przez użytkownika z systemu 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

Wstępnie zdefiniowana CultureInfo nazwa Name istniejącej CultureInfokultury lub tylko dla systemu Windows. name nie uwzględnia wielkości liter.

useUserOverride
Boolean

true aby używać ustawień kultury wybranej przez użytkownika (tylko system Windows); false aby użyć domyślnych ustawień kultury.

Wyjątki

name ma wartość null.

name nie jest prawidłową nazwą kultury. Aby uzyskać więcej informacji, zobacz sekcję Uwagi do osób wywołujących.

Uwagi

Aby uzyskać listę wstępnie zdefiniowanych nazw kultur, zobacz kolumnę Tag języka na liście nazw języków/regionów obsługiwanych przez system Windows. Nazwy kultury są zgodne ze standardem zdefiniowanym przez protokół BCP 47. Ponadto, począwszy od Windows 10, name może być dowolnym prawidłowym tagiem języka BCP-47.

Jeśli name jest String.Emptyto , konstruktor tworzy wystąpienie niezmiennej kultury; jest to równoważne pobieraniu wartości InvariantCulture właściwości.

Użytkownik może zastąpić niektóre wartości skojarzone z bieżącą kulturą systemu Windows za pomocą opcji regionalnych i językowych Panel sterowania. Na przykład, użytkownik może wybrać do wyświetlania datę w innym formacie lub użyć waluty innej niż domyślna dla danej kultury.

Aplikacje zwykle nie powinny zezwalać na przesłonięcia użytkowników. Nie zezwalanie na przesłonięcia nie gwarantuje stabilności danych. Aby uzyskać więcej informacji, zobacz wpis w blogu Dane kultury nie powinny być uznawane za stabilne (z wyjątkiem niezmiennego).

UseUserOverride Jeśli właściwość jest ustawiona na true , a identyfikator kultury skojarzony z określoną nazwą kultury jest zgodny z identyfikatorem kultury bieżącej kultury systemu Windows, ten konstruktor tworzy CultureInfo obiekt, który używa tych przesłonięć, w tym ustawień użytkownika dla właściwości DateTimeFormatInfo wystąpienia zwróconego przez DateTimeFormat właściwość i właściwości NumberFormatInfo wystąpienia zwróconego przez NumberFormat właściwość. Jeśli ustawienia użytkownika są niezgodne z kulturą skojarzoną z CultureInfoelementem , na przykład jeśli wybrany kalendarz nie jest jednym z OptionalCalendarselementów , wyniki metod i wartości właściwości są niezdefiniowane.

W przeciwnym razie ten konstruktor tworzy obiekt CultureInfo , który używa wartości domyślnych dla określonej kultury.

Wartość parametru useUserOverride staje się wartością UseUserOverride właściwości.

Załóżmy na przykład, że arabski (Arabia Saudyjska) jest bieżącą kulturą systemu Windows, a użytkownik zmienił kalendarz z Hidżri na Gregoriański.

Właściwość LCID nowego CultureInfo jest ustawiona na identyfikator kultury skojarzony z określoną nazwą.

W przypadku kultur, w których walutą jest euro, architektura .NET Framework i Windows XP ustawia domyślną walutę jako euro. Jednak starsze wersje systemu Windows nie robią tego. W związku z tym, jeśli użytkownik starszej wersji systemu Windows nie zmienił ustawienia waluty korzystając z opcji ustawień regionalnych i językowych w panelu sterowania, waluty mogą być niepoprawne. Aby użyć ustawienia domyślnego .NET Framework dla waluty, aplikacja powinna ustawić useUserOverride parametr na false.

Uwagi dotyczące wywoływania

.NET Framework 3.5 i starsze wersje zgłaszają wartość ArgumentException , jeśli name nie jest prawidłową nazwą kultury. Począwszy od .NET Framework 4, ten konstruktor zgłasza błąd CultureNotFoundException. Począwszy od aplikacji działających w systemie .NET Framework 4 lub nowszym w systemie Windows 7 lub nowszym, metoda próbuje pobrać CultureInfo obiekt, którego identyfikator pochodzi name z systemu operacyjnego; jeśli system operacyjny nie obsługuje tej kultury, a jeśli name nie jest nazwą kultury dodatkowej lub zastępczej, metoda zgłasza CultureNotFoundException wyjątek.

Na platformie .NET 6 i nowszych wersjach jest zgłaszana wartość , jeśli aplikacja jest uruchomiona w środowisku, CultureNotFoundException w którym włączono tryb niezmienny globalizacji, na przykład niektóre kontenery platformy Docker i kulturę inną niż określona jest niezmienna kultura.

Zobacz też

Dotyczy