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 aus Windows verwendet werden sollen.

CultureInfo(String, Boolean)

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

CultureInfo(Int32)

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 auf Windows System verfügbar sind, werden in der Spalte Sprachtag in der Liste der sprach-/regionsnamenaufgeführt, die von Windows unterstützt werden. Kulturnamen befolgen den von BCP 47 definierten Standard.

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

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

Der Benutzer kann einige der Werte überschreiben, die der aktuellen Kultur der Windows über den Bereich regionale und Sprachoptionen von Systemsteuerung zugeordnet sind. 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 , die CultureInfo diese Außerkraftsetzungen verwendet, einschließlich Benutzereinstellungen für die Eigenschaften der DateTimeFormatInfo -Instanz, die von der -Eigenschaft zurückgegeben DateTimeFormat wird, und die Eigenschaften der NumberFormatInfo -Instanz, die von der -Eigenschaft zurückgegeben NumberFormat wird. Wenn die Benutzereinstellungen nicht mit der Kultur kompatibel sind, die der zugeordnet CultureInfo ist (z. B. wenn der ausgewählte Kalender keiner der OptionalCalendars ist), 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 einen , CultureInfo der die Standardwerte für die angegebene Kultur verwendet.

Die UseUserOverride -Eigenschaftensatz ist immer auf true.

Nehmen wir beispielsweise an, dass Arabisch (Arabisches Arabisch) die aktuelle Windows Kultur ist und der Benutzer den Kalender von Hijri in Gregorianisch geändert hat.

Für Kulturen, die den Euro verwenden, legen .NET Framework und Windows XP die Standardwährung auf Euro fest. Ältere Versionen von Windows jedoch nicht. Wenn der Benutzer einer älteren Version von Windows die Währungseinstellung nicht über den Regions- und Sprachoptionenteil von 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 ihn auf false festlegen.

Hinweis

Aus Gründen der Abwärtskompatibilität verfügt eine Kultur, die mit dem Parameter 0x0004 oder 0x7c04 erstellt culture wurde, über die Name -Eigenschaft zh-CHS zh-CHT bzw. . Stattdessen sollten Sie die Kultur 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üheren Versionen wird ArgumentException ausgelöst, wenn culture kein gültiger Kulturbezeichner ist. Ab .NET Framework 4 löst dieser Konstruktor eine CultureNotFoundException aus. Beginnend mit Apps, die unter .NET Framework 4 oder höher am Windows 7 oder höher ausgeführt werden, versucht die Methode, ein CultureInfo Objekt abzurufen, dessen Bezeichner culture aus dem Betriebssystem stammt. Wenn das Betriebssystem diese Kultur nicht unterstützt, löst die Methode eine CultureNotFoundException Ausnahme aus.

In .NET 6 und höher wird eine 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.

Siehe auch

Gilt für

CultureInfo(String)

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 eine andere Kultur als französisch (Frankreich) handelt, ruft sie den CultureInfo(String) Konstruktor auf, um ein -Objekt zu instanziieren, CultureInfo das die Kultur Französisch (Frankreich) darstellt, und macht es zur aktuellen Kultur. Andernfalls instanziiert es ein CultureInfo -Objekt, das die Kultur Französisch (Frankreich) darstellt, und macht es zur aktuellen Kultur.

using System;
using System.Globalization;

public class Example
{
   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 Sprach-/Regionsnamen,die von Windows unterstützt werden. 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 String.Empty ist, erstellt der Konstruktor eine Instanz der invarianten Kultur. Dies entspricht dem Abrufen des Werts der InvariantCulture -Eigenschaft.

Der Benutzer kann einige der Werte überschreiben, die der aktuellen Kultur der Windows über den Bereich regionale und Sprachoptionen von Systemsteuerung zugeordnet sind. 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 Kulturbezeichner, der zugeordnet name ist, 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 DateTimeFormatInfo -Instanz, die von der -Eigenschaft zurückgegeben DateTimeFormat wird, und die Eigenschaften der NumberFormatInfo -Instanz, die von der -Eigenschaft zurückgegeben NumberFormat wird. Wenn die Benutzereinstellungen nicht mit der Kultur kompatibel sind, die zugeordnet CultureInfo ist, z. B. wenn der ausgewählte Kalender keiner der OptionalCalendars ist, sind die Ergebnisse der Methoden und die Werte der Eigenschaften nicht definiert.

Wenn der kulturbezeichner, der zugeordnet name ist, 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.

Nehmen wir beispielsweise an, dass Arabisch (Arabisches Arabisch) die aktuelle Kultur von Windows ist und der Benutzer den Kalender von Hijri in Gregorianisch geändert hat.

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 die .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 Regions- und Sprachoptionenteil von 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 ihn auf false festlegen.

Hinweise für Aufrufer

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

In .NET 6 und höher wird eine 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.

Siehe auch

Gilt für

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 aus Windows verwendet werden sollen.

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 sprach-/regionsnamenaufgeführt, die von Windows unterstützt werden. Kulturnamen befolgen den von BCP 47 definierten Standard.

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

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

Der Benutzer kann einige der Werte überschreiben, die der aktuellen Kultur der Windows über den Bereich regionale und Sprachoptionen von Systemsteuerung zugeordnet sind. 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 in der Regel keine Benutzerüberschreibungen dürfen. Das Aussetzen von Außerkraftsetzungen garantiert selbst keine Datenstabilität. Weitere Informationen finden Sie im Blogeintrag Kulturdaten sollten nicht als stabil angesehen werden (mit Ausnahme von Invarianten).

Wenn die UseUserOverride -Eigenschaft auf festgelegt ist true und der angegebene Kulturbezeichner mit dem Bezeichner der aktuellen Windows Kultur übereinstimmt, erstellt dieser Konstruktor eine , die CultureInfo diese Außerkraftsetzungen verwendet, einschließlich Benutzereinstellungen für die Eigenschaften der DateTimeFormatInfo -Instanz, die von der -Eigenschaft zurückgegeben DateTimeFormat wird, und die Eigenschaften der NumberFormatInfo -Instanz, die von der -Eigenschaft zurückgegeben NumberFormat wird. Wenn die Benutzereinstellungen nicht mit der Kultur kompatibel sind, die zugeordnet CultureInfo ist, z. B. wenn der ausgewählte Kalender keiner der OptionalCalendars ist, 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.

Nehmen wir beispielsweise an, dass Arabisch (Saudi-Arabisch) die aktuelle Kultur von Windows ist und der Benutzer den Kalender von Hijri in Gregorianisch geändert hat.

Für Kulturen, die den Euro verwenden, legen die .NET Framework und Windows XP die Standardwährung auf Euro fest. Ältere Versionen von Windows jedoch nicht. Wenn der Benutzer einer älteren Version von Windows die Währungseinstellung nicht über den Regions- und Sprachoptionenteil von 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 false festlegen.

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 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üheren Versionen wird ArgumentException ausgelöst, wenn culture kein gültiger Kulturbezeichner ist. Ab .NET Framework 4 löst dieser Konstruktor eine CultureNotFoundException aus. Beginnend mit Apps, die unter .NET Framework 4 oder höher am Windows 7 oder höher ausgeführt werden, versucht die Methode, ein CultureInfo Objekt abzurufen, dessen Bezeichner culture aus dem Betriebssystem stammt. Wenn das Betriebssystem diese Kultur nicht unterstützt, löst die Methode eine CultureNotFoundException Ausnahme aus.

In .NET 6 und höher wird eine 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.

Siehe auch

Gilt für

CultureInfo(String, Boolean)

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

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 vordefinierter Kulturnamen finden Sie in der Spalte Sprachtag in der Liste der Sprach-/Regionsnamen,die von Windows unterstützt werden. 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 String.Empty ist, 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 Windows Kultur zugeordnet sind, über den Regionalen- und Sprachoptionenteil von Systemsteuerung überschreiben. 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 in der Regel keine Benutzerüberschreibungen dürfen. Das Aussetzen von Außerkraftsetzungen garantiert selbst keine Datenstabilität. Weitere Informationen finden Sie im Blogeintrag Kulturdaten sollten nicht als stabil angesehen werden (mit Ausnahme von Invarianten).

Wenn die -Eigenschaft auf festgelegt ist und der dem UseUserOverride true angegebenen Kulturnamen zugeordnete Kulturbezeichner mit dem Kulturbezeichner der aktuellen Windows Kultur übereinstimmt, erstellt dieser Konstruktor eine , die CultureInfo diese Außerkraftsetzungen verwendet, einschließlich Benutzereinstellungen für die Eigenschaften der DateTimeFormatInfo von der -Eigenschaft zurückgegebenen Instanz DateTimeFormat und der Eigenschaften der NumberFormatInfo -Instanz, die von der -Eigenschaft zurückgegeben NumberFormat wird. Wenn die Benutzereinstellungen nicht mit der Kultur kompatibel sind, die zugeordnet CultureInfo ist, z. B. wenn der ausgewählte Kalender keiner der OptionalCalendars ist, 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.

Nehmen wir beispielsweise an, dass Arabisch (Arabisches Arabisch) die aktuelle Kultur von Windows ist und der Benutzer den Kalender von Hijri in Gregorianisch geändert hat.

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 die .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 Regionalen und Sprachoptionen-Teil von Systemsteuerung geändert hat, ist die Währung möglicherweise falsch. Um die Standardeinstellung .NET Framework für die Währung zu verwenden, sollte die Anwendung den useUserOverride Parameter auf false festlegen.

Hinweise für Aufrufer

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

In .NET 6 und höher wird eine 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 CultureNotFoundException angegeben ist.

Siehe auch

Gilt für