Udostępnij za pośrednictwem


CultureInfo Konstruktory

Definicja

Inicjuje nowe wystąpienie klasy CultureInfo.

Przeciążenia

CultureInfo(Int32)

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

CultureInfo(String)

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

CultureInfo(Int32, Boolean)

Inicjuje nowe wystąpienie klasy CultureInfo na podstawie kultury określonej przez identyfikator kultury i wartości określającej, czy używać ustawień kultury wybranej przez użytkownika z systemu Windows.

CultureInfo(String, Boolean)

Inicjuje nowe wystąpienie klasy CultureInfo na podstawie kultury określonej przez nazwę i wartości, która określa, czy używać ustawień kultury wybranej przez użytkownika z systemu Windows.

CultureInfo(Int32)

Źródło:
CultureInfo.cs
Źródło:
CultureInfo.cs
Źródło:
CultureInfo.cs

Inicjuje nowe wystąpienie klasy CultureInfo 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 identyfikator CultureInfo, LCID właściwość istniejącego obiektu CultureInfo lub identyfikator kultury tylko dla systemu Windows.

Wyjątki

culture jest mniejsza 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 tagu 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 parametr culture jest mapowany na odpowiadający identyfikator ustawień regionalnych obsługi języka narodowego (NLS). Wartość parametru culture staje się wartością właściwości LCID nowego CultureInfo.

Zalecamy wywołanie konstruktora nazwy ustawień regionalnych CultureInfo.CultureInfo, ponieważ nazwy ustawień regionalnych są preferowane dla identyfikatorów LCID. W przypadku ustawień regionalnych niestandardowych wymagana jest nazwa ustawień regionalnych.

Użytkownik może zdecydować się zastąpić niektóre wartości skojarzone z bieżącą kulturą systemu Windows za pośrednictwem części opcji regionalnych i językowych Panelu sterowania. Na przykład użytkownik może wybrać wyświetlanie daty w innym formacie lub użycie waluty innej niż domyślna dla kultury. Jeśli określony identyfikator kultury jest zgodny z identyfikatorem kultury bieżącej kultury systemu Windows, ten konstruktor tworzy CultureInfo, który używa tych przesłonięć, w tym ustawień użytkownika dla właściwości wystąpienia DateTimeFormatInfo zwróconego przez właściwość DateTimeFormat oraz właściwości wystąpienia NumberFormatInfo zwróconego przez właściwość NumberFormat. Jeśli ustawienia użytkownika są niezgodne z kulturą skojarzoną z CultureInfo (na przykład jeśli wybrany kalendarz nie jest jednym z OptionalCalendars), 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, który używa wartości domyślnych dla określonej kultury.

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

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, które używają euro, .NET Framework i Windows XP ustawić 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 za pośrednictwem części opcji regionalnych i językowych Panelu sterowania, waluta może być niepoprawna. Aby użyć domyślnego ustawienia programu .NET Framework dla waluty, aplikacja powinna użyć przeciążenia konstruktora CultureInfo, który akceptuje parametr useUserOverride i ustawić go na wartość false.

Nuta

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

Uwagi dotyczące wywoływania

Program .NET Framework 3.5 i starsze wersje zgłaszają ArgumentException, jeśli culture nie jest prawidłowym identyfikatorem kultury. Począwszy od programu .NET Framework 4, ten konstruktor zgłasza CultureNotFoundException. Począwszy od aplikacji uruchamianych w programie .NET Framework 4 lub nowszym w systemie Windows 7 lub nowszym, metoda próbuje pobrać obiekt CultureInfo, którego identyfikator jest culture z systemu operacyjnego; jeśli system operacyjny nie obsługuje tej kultury, metoda zgłasza wyjątek CultureNotFoundException.

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

Zobacz też

Dotyczy

CultureInfo(String)

Źródło:
CultureInfo.cs
Źródło:
CultureInfo.cs
Źródło:
CultureInfo.cs

Inicjuje nowe wystąpienie klasy CultureInfo 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 nazwa CultureInfo, Name istniejącej nazwy kultury CultureInfolub tylko 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 osób wywołujących.

Przykłady

Poniższy przykład pobiera bieżącą kulturę. Jeśli jest to coś innego niż kultura francuska (Francja), nazywa konstruktor CultureInfo(String), aby utworzyć wystąpienie obiektu CultureInfo, który reprezentuje kulturę francuską (Francja) i sprawia, że jest to obecna kultura. W przeciwnym razie tworzy wystąpienie obiektu CultureInfo, który reprezentuje kulturę francuską (Luksemburg) i sprawia, że jest to obecna kultura.

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ę Language tag 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 systemu Windows 10, name może być dowolnym prawidłowym tagiem języka BCP-47.

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

Użytkownik może zdecydować się zastąpić niektóre wartości skojarzone z bieżącą kulturą systemu Windows za pośrednictwem części opcji regionalnych i językowych Panelu sterowania. Na przykład użytkownik może wybrać wyświetlanie daty w innym formacie lub użycie waluty innej niż domyślna dla kultury. Jeśli identyfikator kultury skojarzony z name 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 właściwości wystąpienia DateTimeFormatInfo zwróconego przez właściwość DateTimeFormat oraz właściwości wystąpienia NumberFormatInfo zwróconego przez właściwość NumberFormat. Jeśli ustawienia użytkownika są niezgodne z kulturą skojarzoną z CultureInfo, na przykład jeśli wybrany kalendarz nie jest jednym z OptionalCalendars, wyniki metod i wartości właściwości są niezdefiniowane.

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

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

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

Program .NET Framework 3.5 i starsze wersje zgłaszają ArgumentException, jeśli name nie jest prawidłową nazwą kultury. Począwszy od programu .NET Framework 4, ten konstruktor zgłasza CultureNotFoundException. Począwszy od aplikacji uruchamianych w programie .NET Framework 4 lub nowszym w systemie Windows 7 lub nowszym, metoda próbuje pobrać obiekt CultureInfo, którego identyfikator jest 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 wyjątek CultureNotFoundException.

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

Zobacz też

Dotyczy

CultureInfo(Int32, Boolean)

Źródło:
CultureInfo.cs
Źródło:
CultureInfo.cs
Źródło:
CultureInfo.cs

Inicjuje nowe wystąpienie klasy CultureInfo na podstawie kultury określonej przez identyfikator kultury i wartości określającej, czy używać ustawień kultury wybranej 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 identyfikator CultureInfo, LCID właściwość istniejącego obiektu CultureInfo lub identyfikator kultury tylko dla systemu Windows.

useUserOverride
Boolean

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

Wyjątki

culture jest mniejsza 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 tagu języka w 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 parametr culture jest mapowany na odpowiadający identyfikator ustawień regionalnych obsługi języka narodowego (NLS). Wartość parametru culture staje się wartością właściwości LCID nowego CultureInfo.

Zalecamy wywołanie konstruktora nazwy ustawień regionalnych CultureInfo.CultureInfo, ponieważ nazwy ustawień regionalnych są preferowane dla identyfikatorów LCID. W przypadku ustawień regionalnych niestandardowych wymagana jest nazwa ustawień regionalnych.

Użytkownik może zdecydować się zastąpić niektóre wartości skojarzone z bieżącą kulturą systemu Windows za pośrednictwem części opcji regionalnych i językowych Panelu sterowania. Na przykład użytkownik może wybrać wyświetlanie daty w innym formacie lub użycie waluty innej niż domyślna dla 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 niezmiennych).

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

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

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

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 program .NET Framework i Windows XP ustawić 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 za pośrednictwem części opcji regionalnych i językowych Panelu sterowania, waluta może być niepoprawna. Aby użyć domyślnego ustawienia programu .NET Framework dla waluty, aplikacja powinna ustawić parametr useUserOverride na wartość false.

Nuta

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

Uwagi dotyczące wywoływania

Program .NET Framework 3.5 i starsze wersje zgłaszają ArgumentException, jeśli culture nie jest prawidłowym identyfikatorem kultury. Począwszy od programu .NET Framework 4, ten konstruktor zgłasza CultureNotFoundException. Począwszy od aplikacji uruchamianych w programie .NET Framework 4 lub nowszym w systemie Windows 7 lub nowszym, metoda próbuje pobrać obiekt CultureInfo, którego identyfikator jest culture z systemu operacyjnego; jeśli system operacyjny nie obsługuje tej kultury, metoda zgłasza wyjątek CultureNotFoundException.

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

Zobacz też

Dotyczy

CultureInfo(String, Boolean)

Źródło:
CultureInfo.cs
Źródło:
CultureInfo.cs
Źródło:
CultureInfo.cs

Inicjuje nowe wystąpienie klasy CultureInfo na podstawie kultury określonej przez nazwę i wartości, która określa, czy używać ustawień kultury wybranej 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 nazwa CultureInfo, Name istniejącej nazwy kultury CultureInfolub tylko systemu Windows. name nie uwzględnia wielkości liter.

useUserOverride
Boolean

true używać ustawień kultury wybranej przez użytkownika (tylko system Windows); false 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ę tagu języka w 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 systemu Windows 10, name może być dowolnym prawidłowym tagiem języka BCP-47.

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

Użytkownik może przesłonić niektóre wartości skojarzone z bieżącą kulturą systemu Windows za pomocą opcji regionalnych i językowych w Panelu sterowania. Na przykład użytkownik może wybrać wyświetlanie daty w innym formacie lub użycie waluty innej niż domyślna dla 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 niezmiennych).

Jeśli właściwość UseUserOverride 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, który używa tych przesłonięć, w tym ustawień użytkownika dla właściwości wystąpienia DateTimeFormatInfo zwróconego przez właściwość DateTimeFormat oraz właściwości wystąpienia NumberFormatInfo zwróconego przez właściwość NumberFormat. Jeśli ustawienia użytkownika są niezgodne z kulturą skojarzoną z CultureInfo, na przykład jeśli wybrany kalendarz nie jest jednym z OptionalCalendars, wyniki metod i wartości właściwości są niezdefiniowane.

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

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

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 używających euro program .NET Framework i Windows XP ustawić 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 za pośrednictwem części opcji regionalnych i językowych Panelu sterowania, waluta może być niepoprawna. Aby użyć domyślnego ustawienia programu .NET Framework dla waluty, aplikacja powinna ustawić parametr useUserOverride na wartość false.

Uwagi dotyczące wywoływania

Program .NET Framework 3.5 i starsze wersje zgłaszają ArgumentException, jeśli name nie jest prawidłową nazwą kultury. Począwszy od programu .NET Framework 4, ten konstruktor zgłasza CultureNotFoundException. Począwszy od aplikacji uruchamianych w programie .NET Framework 4 lub nowszym w systemie Windows 7 lub nowszym, metoda próbuje pobrać obiekt CultureInfo, którego identyfikator jest 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 wyjątek CultureNotFoundException.

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

Zobacz też

Dotyczy