Freigeben über


CultureInfo Konstruktoren

Definition

Initialisiert eine neue Instanz der CultureInfo-Klasse.

Überlädt

CultureInfo(Int32)

Initialisiert eine neue Instanz der CultureInfo-Klasse auf der Grundlage der durch den Kulturbezeichner angegebenen Kultur.

CultureInfo(String)

Initialisiert eine neue Instanz der CultureInfo-Klasse auf der Grundlage der durch den Namen angegebenen Kultur.

CultureInfo(Int32, Boolean)

Initialisiert eine neue Instanz der CultureInfo -Klasse basierend auf der durch den Kulturbezeichner angegebenen Kultur und auf einem Wert, der angibt, ob die vom Benutzer ausgewählten Kultureinstellungen von Windows verwendet werden sollen.

CultureInfo(String, Boolean)

Initialisiert eine neue Instanz der CultureInfo -Klasse basierend auf der durch den Namen angegebenen Kultur und einem Wert, der angibt, ob die vom Benutzer ausgewählten Kultureinstellungen von Windows verwendet werden sollen.

CultureInfo(Int32)

Quelle:
CultureInfo.cs
Quelle:
CultureInfo.cs
Quelle:
CultureInfo.cs

Initialisiert eine neue Instanz der CultureInfo-Klasse auf der Grundlage der durch den Kulturbezeichner angegebenen Kultur.

public:
 CultureInfo(int culture);
public CultureInfo (int culture);
new System.Globalization.CultureInfo : int -> System.Globalization.CultureInfo
Public Sub New (culture As Integer)

Parameter

culture
Int32

Ein vordefinierter CultureInfo-Bezeichner, die LCID-Eigenschaft eines vorhandenen CultureInfo-Objekts oder ein Nur-Windows-Kulturbezeichner.

Ausnahmen

culture ist kleiner als Null.

culture ist kein gültiger Kulturbezeichner. Weitere Informationen finden Sie im Abschnitt „Hinweise zu Aufrufern“.

Hinweise

Vordefinierte Kulturbezeichner für Kulturen, die im Windows-System verfügbar sind, werden in der Spalte Sprachtag in der Liste der von Windows unterstützten Sprach-/Regionsnamen aufgeführt. Kulturnamen befolgen den von BCP 47 definierten Standard.

In den meisten Fällen wird der culture Parameter dem entsprechenden NLS-Gebietsschemabezeichner (National Language Support) zugeordnet. Der Wert des culture Parameters wird zum Wert der LCID -Eigenschaft des neuen CultureInfo.

Es wird empfohlen, den Gebietsschemanamenkonstruktor CultureInfo.CultureInfoaufzurufen, da Gebietsschemanamen LCIDs vorzuziehen sind. Für benutzerdefinierte Gebietsschemas ist ein Gebietsschemaname erforderlich.

Der Benutzer kann einige der Werte, die der aktuellen Kultur von Windows zugeordnet sind, über den Bereich der Regions- und Sprachoptionen der Systemsteuerung außer Kraft setzen. Beispielsweise kann der Benutzer das Datum in einem anderen Format anzeigen oder eine andere Währung als die Standardwährung für die Kultur verwenden. Wenn der angegebene Kulturbezeichner mit dem Kulturbezeichner der aktuellen Windows-Kultur übereinstimmt, erstellt dieser Konstruktor eine CultureInfo , die diese Außerkraftsetzungen verwendet, einschließlich Benutzereinstellungen für die Eigenschaften der von der DateTimeFormatInfoDateTimeFormat -Eigenschaft zurückgegebenen Instanz und die Eigenschaften der von der NumberFormatInfoNumberFormat -Eigenschaft zurückgegebenen Instanz. Wenn die Benutzereinstellungen nicht mit der Kultur kompatibel sind, die CultureInfo dem zugeordnet ist (z. B. wenn der ausgewählte Kalender keiner der OptionalCalendarsist), sind die Ergebnisse der Methoden und die Werte der Eigenschaften nicht definiert.

Wenn der angegebene Kulturbezeichner nicht mit dem Bezeichner der aktuellen Windows-Kultur übereinstimmt, erstellt dieser Konstruktor eine CultureInfo , die die Standardwerte für die angegebene Kultur verwendet.

Die UseUserOverride -Eigenschaftensatz ist immer auf true.

Angenommen, Arabisch (Saudi-Arabien) ist die aktuelle Windows-Kultur und der Benutzer hat den Kalender von Hijri in Gregorianisch geändert.

Für Kulturen, die den Euro verwenden, legen .NET Framework und Windows XP die Standardwährung auf Euro fest. Ältere Versionen von Windows sind dies jedoch nicht. Wenn der Benutzer einer älteren Version von Windows die Währungseinstellung nicht über den Bereich der Regional- und Sprachoptionen der Systemsteuerung geändert hat, ist die Währung möglicherweise falsch. Um die .NET Framework-Standardeinstellung für die Währung zu verwenden, sollte die Anwendung eine CultureInfo Konstruktorüberladung verwenden, die einen useUserOverride Parameter akzeptiert und auf falsefestlegen.

Hinweis

Aus Gründen der Abwärtskompatibilität verfügt eine Kultur, die mit einem culture Parameter von 0x0004 oder 0x7c04 erstellt wurde, über die Name -Eigenschaft zh-CHS bzw zh-CHT. . Stattdessen sollten Sie es vorziehen, die Kultur mit den aktuellen Standardkulturnamen von zh-Hans oder zh-Hantzu erstellen, es sei denn, Sie haben einen Grund für die Verwendung der älteren Namen.

Hinweise für Aufrufer

.NET Framework 3.5 und frühere Versionen lösen eine aus ArgumentException , wenn culture kein gültiger Kulturbezeichner ist. Ab .NET Framework 4 löst dieser Konstruktor einen aus CultureNotFoundException. Beginnend mit Apps, die unter .NET Framework 4 oder höher unter Windows 7 oder höher ausgeführt werden, versucht die Methode, ein CultureInfo Objekt abzurufen, dessen Bezeichner vom Betriebssystem stammt culture . Wenn das Betriebssystem diese Kultur nicht unterstützt, löst die Methode eine Ausnahme aus CultureNotFoundException .

Unter .NET 6 und höheren Versionen wird ein CultureNotFoundException ausgelöst, wenn die App in einer Umgebung ausgeführt wird, in der der globalisierungsinvariante Modus aktiviert ist, z. B. einige Docker-Container, und eine andere Kultur als die invariante Kultur angegeben wird.

Weitere Informationen

Gilt für:

CultureInfo(String)

Quelle:
CultureInfo.cs
Quelle:
CultureInfo.cs
Quelle:
CultureInfo.cs

Initialisiert eine neue Instanz der CultureInfo-Klasse auf der Grundlage der durch den Namen angegebenen Kultur.

public:
 CultureInfo(System::String ^ name);
public CultureInfo (string name);
new System.Globalization.CultureInfo : string -> System.Globalization.CultureInfo
Public Sub New (name As String)

Parameter

name
String

Ein vordefinierter CultureInfo-Name, eine Name-Eigenschaft einer vorhandenen CultureInfo-Klasse oder ein nur für Windows definierter Kulturname. Bei name wird nicht zwischen Groß- und Kleinschreibung unterschieden.

Ausnahmen

name ist NULL.

name ist kein gültiger Kulturname. Weitere Informationen finden Sie im Abschnitt "Hinweise zu Aufrufern".

Beispiele

Im folgenden Beispiel wird die aktuelle Kultur abgerufen. Wenn es sich um etwas anderes als die französische Kultur (Frankreich) handelt, ruft er den CultureInfo(String) Konstruktor auf, um ein CultureInfo Objekt zu instanziieren, das die französische Kultur (Frankreich) darstellt und es zur aktuellen Kultur macht. Andernfalls instanziiert es ein CultureInfo Objekt, das die französische Kultur (Luxemburg) darstellt, und macht es zur aktuellen 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

Hinweise

Eine Liste der vordefinierten Kulturnamen auf Windows-Systemen finden Sie in der Spalte Sprachtag in der Liste der von Windows unterstützten Sprach-/Regionsnamen. Kulturnamen befolgen den von BCP 47 definierten Standard. Darüber hinaus kann ab Windows 10 name ein beliebiges gültiges BCP-47-Sprachtag sein.

Wenn name ist String.Empty, erstellt der Konstruktor eine Instanz der invarianten Kultur. Dies entspricht dem Abrufen des Werts der InvariantCulture Eigenschaft.

Der Benutzer kann einige der Werte, die der aktuellen Kultur von Windows zugeordnet sind, über den Bereich der Regions- und Sprachoptionen der Systemsteuerung außer Kraft setzen. Beispielsweise kann der Benutzer das Datum in einem anderen Format anzeigen oder eine andere Währung als die Standardwährung für die Kultur verwenden. Wenn der zugeordnete name Kulturbezeichner mit dem Kulturbezeichner der aktuellen Windows-Kultur übereinstimmt, erstellt dieser Konstruktor ein CultureInfo Objekt, das diese Außerkraftsetzungen verwendet, einschließlich Benutzereinstellungen für die Eigenschaften der Instanz, die DateTimeFormatInfo von der DateTimeFormat -Eigenschaft zurückgegeben werden, und die Eigenschaften der von der NumberFormatInfoNumberFormat -Eigenschaft zurückgegebenen Instanz. Wenn die Benutzereinstellungen mit der kultur nicht kompatibel sind, die CultureInfozugeordnet ist, z. B. wenn der ausgewählte Kalender keiner der OptionalCalendarsist, sind die Ergebnisse der Methoden und die Werte der Eigenschaften nicht definiert.

Wenn der zugeordnete name Kulturbezeichner nicht mit dem Kulturbezeichner der aktuellen Windows-Kultur übereinstimmt, erstellt dieser Konstruktor ein CultureInfo -Objekt, das die Standardwerte für die angegebene Kultur verwendet.

Die UseUserOverride -Eigenschaftensatz ist immer auf true.

Angenommen, Arabisch (Saudi-Arabien) ist die aktuelle Kultur von Windows, und der Benutzer hat den Kalender von Hijri in Gregorianisch geändert:

Die LCID -Eigenschaft der neuen CultureInfo wird auf den Kulturbezeichner festgelegt, der dem angegebenen Namen zugeordnet ist.

Hinweise für Aufrufer

.NET Framework 3.5 und frühere Versionen lösen einen aus ArgumentException , wenn name kein gültiger Kulturname ist. Ab .NET Framework 4 löst dieser Konstruktor einen aus CultureNotFoundException. Beginnend mit Apps, die unter .NET Framework 4 oder höher unter Windows 7 oder höher ausgeführt werden, versucht die Methode, ein CultureInfo Objekt abzurufen, dessen Bezeichner vom Betriebssystem stammt name . Wenn das Betriebssystem diese Kultur nicht unterstützt, und wenn name nicht der Name einer Ergänzenden oder Ersatzkultur ist, löst die Methode eine Ausnahme aus CultureNotFoundException .

Unter .NET 6 und höheren Versionen wird ein CultureNotFoundException ausgelöst, wenn die App in einer Umgebung ausgeführt wird, in der der globalisierungsinvariante Modus aktiviert ist, z. B. einige Docker-Container, und eine andere Kultur als die invariante Kultur angegeben wird.

Weitere Informationen

Gilt für:

CultureInfo(Int32, Boolean)

Quelle:
CultureInfo.cs
Quelle:
CultureInfo.cs
Quelle:
CultureInfo.cs

Initialisiert eine neue Instanz der -Klasse basierend auf der Kultur, die CultureInfo durch den Kulturbezeichner und einen Wert angegeben wird, der angibt, ob die vom Benutzer ausgewählten Kultureinstellungen von Windows verwendet werden soll.

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)

Parameter

culture
Int32

Ein vordefinierter CultureInfo-Bezeichner, die LCID-Eigenschaft eines vorhandenen CultureInfo-Objekts oder ein Nur-Windows-Kulturbezeichner.

useUserOverride
Boolean

true , um die vom Benutzer ausgewählten Kultureinstellungen zu verwenden (nur Windows); false , um die Standardkultureinstellungen zu verwenden.

Ausnahmen

culture ist kleiner als Null.

culture ist kein gültiger Kulturbezeichner. Weitere Informationen finden Sie im Abschnitt „Hinweise zu Aufrufern“.

Hinweise

Vordefinierte Kulturbezeichner, die auf Windows-Systemen verfügbar sind, werden in der Spalte Sprachtag in der Liste der von Windows unterstützten Sprach-/Regionsnamen aufgeführt. Kulturnamen befolgen den von BCP 47 definierten Standard.

In den meisten Fällen wird der culture Parameter dem entsprechenden NLS-Gebietsschemabezeichner (National Language Support) zugeordnet. Der Wert des culture Parameters wird zum Wert der LCID -Eigenschaft des neuen CultureInfo.

Es wird empfohlen, den Gebietsschemanamenkonstruktor CultureInfo.CultureInfoaufzurufen, da Gebietsschemanamen LCIDs vorzuziehen sind. Für benutzerdefinierte Gebietsschemas ist ein Gebietsschemaname erforderlich.

Der Benutzer kann einige der Werte, die der aktuellen Kultur von Windows zugeordnet sind, über den Bereich der Regions- und Sprachoptionen der Systemsteuerung außer Kraft setzen. Beispielsweise kann der Benutzer das Datum in einem anderen Format anzeigen oder eine andere Währung als die Standardwährung für die Kultur verwenden.

Anwendungen sollten Benutzerüberschreibungen in der Regel nicht zulassen. Das Deaktivieren von Außerkraftsetzungen garantiert selbst keine Datenstabilität. Weitere Informationen finden Sie im Blogeintrag Kulturdaten sollten nicht als stabil angesehen werden (mit Ausnahme von Invariant).

Wenn die UseUserOverride -Eigenschaft auf true festgelegt ist und der angegebene Kulturbezeichner mit dem Bezeichner der aktuellen Windows-Kultur übereinstimmt, erstellt dieser Konstruktor eine CultureInfo , die diese Außerkraftsetzungen verwendet, einschließlich Benutzereinstellungen für die Eigenschaften der von der DateTimeFormatInfoDateTimeFormat -Eigenschaft zurückgegebenen Instanz und die Eigenschaften der von der NumberFormatInfoNumberFormat -Eigenschaft zurückgegebenen Instanz. Wenn die Benutzereinstellungen mit der kultur nicht kompatibel sind, die CultureInfozugeordnet ist, z. B. wenn der ausgewählte Kalender keiner der OptionalCalendarsist, sind die Ergebnisse der Methoden und die Werte der Eigenschaften nicht definiert.

Andernfalls erstellt dieser Konstruktor eine CultureInfo , die die Standardwerte für die angegebene Kultur verwendet.

Der Wert des useUserOverride Parameters wird zum Wert der UseUserOverride -Eigenschaft.

Angenommen, Arabisch (Saudi-Arabien) ist die aktuelle Kultur von Windows und der Benutzer hat den Kalender von Hijri in Gregorianisch geändert.

Für Kulturen, die den Euro verwenden, legen .NET Framework und Windows XP die Standardwährung auf Euro fest. Ältere Versionen von Windows tun dies jedoch nicht. Wenn der Benutzer einer älteren Version von Windows die Währungseinstellung nicht über den Bereich Regional- und Sprachoptionen der Systemsteuerung geändert hat, ist die Währung möglicherweise falsch. Um die .NET Framework-Standardeinstellung für die Währung zu verwenden, sollte die Anwendung den useUserOverride Parameter auf falsefestlegen.

Hinweis

Für Abwärtskompatibilität einer Kultur mithilfe einer culture Parameter 0 x 0004 oder 0x7c04 besitzen, wird eine Name Eigenschaft Zh-CHS oder Zh-CHT bzw. Stattdessen sollten Sie die Kultur lieber mit den aktuellen Standardkulturnamen von zh-Hans oder zh-Hant erstellen, es sei denn, Sie haben einen Grund für die Verwendung der älteren Namen.

Hinweise für Aufrufer

.NET Framework 3.5 und frühere Versionen lösen eine aus ArgumentException , wenn culture kein gültiger Kulturbezeichner ist. Ab .NET Framework 4 löst dieser Konstruktor einen aus CultureNotFoundException. Beginnend mit Apps, die unter .NET Framework 4 oder höher unter Windows 7 oder höher ausgeführt werden, versucht die Methode, ein CultureInfo Objekt abzurufen, dessen Bezeichner vom Betriebssystem stammt culture . Wenn das Betriebssystem diese Kultur nicht unterstützt, löst die Methode eine Ausnahme aus CultureNotFoundException .

Unter .NET 6 und höheren Versionen wird ein CultureNotFoundException ausgelöst, wenn die App in einer Umgebung ausgeführt wird, in der der globalisierungsinvariante Modus aktiviert ist, z. B. einige Docker-Container, und eine andere Kultur als die invariante Kultur angegeben wird.

Weitere Informationen

Gilt für:

CultureInfo(String, Boolean)

Quelle:
CultureInfo.cs
Quelle:
CultureInfo.cs
Quelle:
CultureInfo.cs

Initialisiert eine neue Instanz der -Klasse basierend auf der kultur, die CultureInfo durch den Namen und einen Wert angegeben wird, der angibt, ob die vom Benutzer ausgewählten Kultureinstellungen von Windows verwendet werden soll.

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)

Parameter

name
String

Ein vordefinierter CultureInfo-Name, eine Name-Eigenschaft einer vorhandenen CultureInfo-Klasse oder ein nur für Windows definierter Kulturname. Bei name wird nicht zwischen Groß- und Kleinschreibung unterschieden.

useUserOverride
Boolean

true , um die vom Benutzer ausgewählten Kultureinstellungen zu verwenden (nur Windows); false , um die Standardkultureinstellungen zu verwenden.

Ausnahmen

name ist NULL.

name ist kein gültiger Kulturname. Weitere Informationen finden Sie im Abschnitt „Hinweise zu Aufrufern“.

Hinweise

Eine Liste der vordefinierten Kulturnamen finden Sie in der Spalte Language-Tag in der Liste der von Windows unterstützten Sprach-/Regionsnamen. Kulturnamen befolgen den von BCP 47 definierten Standard. Darüber hinaus kann ab Windows 10 name ein beliebiges gültiges BCP-47-Sprachtag sein.

Wenn name ist String.Empty, erstellt der Konstruktor eine Instanz der invariante Kultur. Dies entspricht dem Abrufen des Werts der InvariantCulture -Eigenschaft.

Der Benutzer kann einige der Werte, die der aktuellen Windows-Kultur zugeordnet sind, über den Bereich Regional- und Sprachoptionen der Systemsteuerung außer Kraft setzen. Beispielsweise kann der Benutzer das Datum in einem anderen Format anzeigen oder eine andere Währung als die Standardwährung für die Kultur verwenden.

Anwendungen sollten Benutzerüberschreibungen in der Regel nicht zulassen. Das Deaktivieren von Außerkraftsetzungen garantiert selbst keine Datenstabilität. Weitere Informationen finden Sie im Blogeintrag Kulturdaten sollten nicht als stabil betrachtet werden (mit Ausnahme von Invariant).

Wenn die UseUserOverride -Eigenschaft auf true festgelegt ist und der dem angegebenen Kulturnamen zugeordnete Kulturbezeichner mit dem Kulturbezeichner der aktuellen Windows-Kultur übereinstimmt, erstellt dieser Konstruktor eine CultureInfo , die diese Außerkraftsetzungen verwendet, einschließlich Benutzereinstellungen für die Eigenschaften der von der DateTimeFormatInfoDateTimeFormat -Eigenschaft zurückgegebenen Instanz und die Eigenschaften der NumberFormatInfo von der NumberFormat -Eigenschaft zurückgegebenen Instanz. Wenn die Benutzereinstellungen mit der kultur nicht kompatibel sind, die CultureInfodem zugeordnet ist, z. B. wenn der ausgewählte Kalender nicht einer der OptionalCalendarsist, sind die Ergebnisse der Methoden und die Werte der Eigenschaften nicht definiert.

Andernfalls erstellt dieser Konstruktor einen CultureInfo , der die Standardwerte für die angegebene Kultur verwendet.

Der Wert des useUserOverride Parameters wird zum Wert der UseUserOverride -Eigenschaft.

Angenommen, Arabisch (Saudi-Arabien) ist die aktuelle Kultur von Windows und der Benutzer hat den Kalender von Hijri in Gregorianisch geändert.

Die LCID Eigenschaft des neuen CultureInfo wird auf den Kulturbezeichner festgelegt, der dem angegebenen Namen zugeordnet ist.

Für Kulturen, die den Euro verwenden, legen .NET Framework und Windows XP die Standardwährung auf Euro fest. Ältere Versionen von Windows tun dies jedoch nicht. Wenn der Benutzer einer älteren Version von Windows die Währungseinstellung nicht über den Bereich Regional- und Sprachoptionen der Systemsteuerung geändert hat, ist die Währung möglicherweise falsch. Um die .NET Framework-Standardeinstellung für die Währung zu verwenden, sollte die Anwendung den useUserOverride Parameter auf falsefestlegen.

Hinweise für Aufrufer

.NET Framework 3.5 und frühere Versionen lösen einen aus ArgumentException , wenn name kein gültiger Kulturname ist. Ab .NET Framework 4 löst dieser Konstruktor einen aus CultureNotFoundException. Beginnend mit Apps, die unter .NET Framework 4 oder höher unter Windows 7 oder höher ausgeführt werden, versucht die Methode, ein CultureInfo Objekt abzurufen, dessen Bezeichner aus dem Betriebssystem stammt name . Wenn das Betriebssystem diese Kultur nicht unterstützt, und wenn name es sich nicht um den Namen einer zusätzlichen Kultur oder einer Ersatzkultur handelt, löst die Methode eine Ausnahme aus CultureNotFoundException .

In .NET 6 und höheren Versionen wird ein CultureNotFoundException ausgelöst, wenn die App in einer Umgebung ausgeführt wird, in der der globalisierungsinvariante Modus aktiviert ist, z. B. einige Docker-Container, und eine andere Kultur als die invariante Kultur angegeben wird.

Weitere Informationen

Gilt für: