Windows Dev Center

Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Informationen
Das angeforderte Thema wird unten angezeigt. Es ist jedoch nicht in dieser Bibliothek vorhanden.

CultureInfo-Klasse

Stellt Informationen über eine bestimmte Kultur bereit (die bei der nicht verwalteten Codeentwicklung als locale bezeichnet wird). Zu diesen Informationen gehören der Name der Kultur, das Schriftsystem, der verwendete Kalender sowie die Formatierung für Datumsangaben und sortierte Zeichenfolgen.

System.Object
  System.Globalization.CultureInfo

Namespace:  System.Globalization
Assembly:  mscorlib (in mscorlib.dll)

[SerializableAttribute]
[ComVisibleAttribute(true)]
public class CultureInfo : ICloneable, 
	IFormatProvider

Der CultureInfo-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche MethodeUnterstützt von XNA FrameworkCultureInfo(Int32)Initialisiert eine neue Instanz der CultureInfo-Klasse auf der Grundlage der durch den Kulturbezeichner angegebenen Kultur.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCultureInfo(String)Initialisiert eine neue Instanz der CultureInfo-Klasse auf der Grundlage der durch den Namen angegebenen Kultur.
Öffentliche MethodeUnterstützt von XNA FrameworkCultureInfo(Int32, Boolean)Initialisiert eine neue Instanz der CultureInfo-Klasse auf der Grundlage der durch den Kulturbezeichner angegebenen Kultur und auf der Grundlage des booleschen Werts, der angibt, ob die vom Benutzer ausgewählten Kultureinstellungen des Systems verwendet werden sollen.
Öffentliche MethodeUnterstützt von XNA FrameworkCultureInfo(String, Boolean)Initialisiert eine neue Instanz der CultureInfo-Klasse auf der Grundlage der durch den Namen angegebenen Kultur und auf der Grundlage des booleschen Werts, der angibt, ob die vom Benutzer ausgewählten Kultureinstellungen des Systems verwendet werden sollen.
Zum Seitenanfang

  NameBeschreibung
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCalendarRuft den von der Kultur verwendeten Standardkalender ab.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCompareInfoRuft die CompareInfo ab, in der festgelegt wird, wie Zeichenfolgen für die Kultur verglichen werden.
Öffentliche EigenschaftCultureTypesRuft die Kulturtypen ab, die das aktuelle CultureInfo-Objekt betreffen.
Öffentliche EigenschaftStatischer MemberUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCurrentCultureRuft das CultureInfo-Objekt ab, das die vom aktuellen Thread verwendete Kultur darstellt.
Öffentliche EigenschaftStatischer MemberUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCurrentUICultureRuft das CultureInfo-Objekt ab, das die aktuelle Benutzeroberfläche darstellt, mit deren Hilfe der Ressourcen-Manager kulturabhängige Ressourcen zur Laufzeit sucht.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsDateTimeFormatRuft die DateTimeFormatInfo ab, die das für die Kultur spezifische Format zum Anzeigen von Datumsangaben und Uhrzeiten definiert, oder legt diese fest.
Öffentliche EigenschaftStatischer MemberUnterstützt in .NET für Windows Store-AppsDefaultThreadCurrentCultureRuft die Standardkultur für Threads in der aktuellen Anwendungsdomäne ab oder legt diese fest.
Öffentliche EigenschaftStatischer MemberUnterstützt in .NET für Windows Store-AppsDefaultThreadCurrentUICultureRuft die standardmäßige Benutzeroberflächenkultur für Threads in der aktuellen Anwendungsdomäne ab oder legt diese fest.
Öffentliche EigenschaftUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsDisplayNameRuft den vollständig lokalisierten Kulturnamen ab.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsEnglishNameRuft den Kulturnamen im Format languagefull [country/regionfull] auf Englisch ab.
Öffentliche EigenschaftIetfLanguageTagVeraltet. Ruft die Sprachkennung gemäß dem Standard RFC 4646 ab.
Öffentliche EigenschaftStatischer MemberInstalledUICultureRuft die CultureInfo ab, die die mit dem Betriebssystem installierte Kultur darstellt.
Öffentliche EigenschaftStatischer MemberUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsInvariantCultureRuft die kulturunabhängige (invariante) CultureInfo ab.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsIsNeutralCultureRuft einen Wert ab, der angibt, ob die aktuelle CultureInfo eine neutrale Kultur darstellt.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsIsReadOnlyRuft einen Wert ab, der angibt, ob die aktuelle CultureInfo schreibgeschützt ist.
Öffentliche EigenschaftKeyboardLayoutIdRuft den aktiven Bezeichner für das Eingabegebietsschema ab.
Öffentliche EigenschaftUnterstützt von XNA FrameworkLCIDRuft den Kulturbezeichner für die aktuelle CultureInfo ab.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsNameRuft den Kulturnamen im Format languagecode2-country/regioncode2 ab.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsNativeNameRuft den Namen der Kultur ab, der aus der Sprache, dem Land oder der Region und dem optionalen Skript besteht, das in der Kultur angezeigt werden soll.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsNumberFormatRuft die NumberFormatInfo ab, die das für die Kultur spezifische Format zum Anzeigen von Zahlen, Währungen und Prozentsätzen definiert, oder legt diese fest.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsOptionalCalendarsRuft die Liste der Kalender ab, die von dieser Kultur verwendet werden können.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsParentRuft die CultureInfo ab, die die übergeordnete Kultur zur aktuellen CultureInfo darstellt.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsTextInfoRuft die TextInfo ab, die das der Kultur zugeordnete Schriftsystem definiert.
Öffentliche EigenschaftUnterstützt von XNA FrameworkThreeLetterISOLanguageNameRuft den aus drei Buchstaben bestehenden Code nach ISO 639-2 für die Sprache der aktuellen CultureInfo ab.
Öffentliche EigenschaftUnterstützt von XNA FrameworkThreeLetterWindowsLanguageNameRuft den aus drei Buchstaben bestehenden Code für die Sprache ab, wie er in der Windows-API definiert ist.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsTwoLetterISOLanguageNameRuft den aus zwei Buchstaben bestehenden Code nach ISO 639-1 für die Sprache der aktuellen CultureInfo ab.
Öffentliche EigenschaftUnterstützt von XNA FrameworkUseUserOverrideRuft einen Wert ab, der angibt, ob die aktuelle CultureInfo die vom Benutzer ausgewählten Kultureinstellungen verwendet.
Zum Seitenanfang

  NameBeschreibung
Öffentliche MethodeUnterstützt von XNA FrameworkClearCachedDataAktualisiert die zwischengespeicherten kulturbezogenen Informationen.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCloneErstellt eine Kopie der aktuellen CultureInfo.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkCreateSpecificCultureErstellt eine CultureInfo, die die zum angegebenen Namen gehörige spezifische Kultur darstellt.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsEqualsBestimmt, ob das angegebenen Objekt dieselbe Kultur aufweist wie die aktuelle CultureInfo. (Überschreibt Object.Equals(Object).)
Geschützte MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsFinalize Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.)
Öffentliche MethodeGetConsoleFallbackUICultureRuft im Falle einer ungeeigneten Standard-GUI-Kultur eine alternative Kultur der Benutzeroberfläche für Konsolenanwendungen auf.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkGetCultureInfo(Int32)Ruft eine zwischengespeicherte und schreibgeschützte Instanz einer Kultur mithilfe des angegebenen Kulturbezeichners ab.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkGetCultureInfo(String)Ruft eine zwischengespeicherte und schreibgeschützte Instanz einer Kultur mithilfe des angegebenen Kulturnamens ab.
Öffentliche MethodeStatischer MemberGetCultureInfo(String, String)Ruft eine zwischengespeicherte und schreibgeschützte Instanz einer Kultur ab. Mit Parametern wird eine Kultur angegeben, die mit dem TextInfo-Objekt und dem CompareInfo-Objekt initialisiert wird, die wiederum von einer anderen Kultur angegeben werden.
Öffentliche MethodeStatischer MemberGetCultureInfoByIetfLanguageTagVeraltet. Ruft ein schreibgeschütztes CultureInfo-Objekt ab, dessen linguistische Merkmale vom angegebenen RFC 4646-Sprachtag identifiziert werden.
Öffentliche MethodeStatischer MemberGetCulturesRuft die Liste der unterstützten Kulturen ab, die entsprechend dem angegebenen CultureTypes-Parameter gefiltert sind.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetFormatRuft ein Objekt ab, das definiert, wie der angegebene Typ formatiert werden soll.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetHashCodeFungiert als Hashfunktion für die aktuelle CultureInfo, die sich für die Verwendung in Hashalgorithmen und -datenstrukturen eignet, z. B. in einer Hashtabelle. (Überschreibt Object.GetHashCode().)
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Geschützte MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMemberwiseCloneErstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReadOnlyGibt einen schreibgeschützten Wrapper für die angegebene CultureInfo zurück.
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsToStringGibt eine Zeichenfolge mit dem Namen der aktuellen CultureInfo im Format Sprachcode2-Landes-/Regionscode2 zurück. (Überschreibt Object.ToString().)
Zum Seitenanfang

Die Klasse CultureInfo stellt kulturspezifische Informationen bereit, wie die Sprache, Sprachvariante, das Land/die Region, den Kalender und Konventionen, die einer bestimmten Kultur zugeordnet werden. Diese Klasse bietet auch Zugriff auf kulturspezifische Instanzen von DateTimeFormatInfo, NumberFormatInfo, des CompareInfo und der TextInfo-Objekten. Diese Objekte enthalten Informationen, die für kulturabhängige Operationen erforderlich sind, z. B. für die Groß-/Kleinschreibung, für die Formatierung von Datumsangaben und Zahlen sowie für Vergleiche von Zeichenfolgen. Die CultureInfo-Klasse wird entweder direkt genutzt oder indirekt von Klassen, die kulturspezifische Daten, wie String, DateTime, DateTimeOffset und die numerischen Typen formatieren, analysieren oder bearbeiten.

In diesem Abschnitt

Kulturnamen und Bezeichnern
Invariantes Element, neutral und spezifische Kulturen
Benutzerdefinierte Kulturen
Dynamische Kulturdaten
Kultur und Threads
Kultur und Anwendungsdomänen
CultureInfo-Objektserialisierung
Systemsteuerungsüberschreibungen
Alternative Sortierreihenfolgen

Kulturnamen und Bezeichnern

Die CultureInfo-Klasse gibt einen eindeutigen Namen für jede Kultur, auf Grundlage des RFC 4646 an. Der Name besteht aus einem zweistelligen Kulturcode in Kleinbuchstaben laut ISO 639, der mit einer Sprache verknüpft ist, und aus einem zweistelligen Teilkulturcode in Großbuchstaben, der mit einem Land oder einer Region verknüpft ist.

HinweisHinweis

Wenn ein Kulturname zu einem Klassenkonstruktor oder einer Methode wie CreateSpecificCulture oder CultureInfo übergeben wird, ist seine Großkleinschreibung unerheblich.

Das Format für den Kulturnamen ist languagecode2>Land/regioncode2, wobei languagecode2 dem Sprachcode 007F darstellt und Land/regioncode2 der Teilkulturcode 007F ist. Beispiele hierfür sind "ja-JP" für Japanisch (Japan) und "en-US" für Englisch (USA). Wenn kein zweistelliger Sprachcode verfügbar ist, wird ein dreistelliger Code verwendet, der von ISO 639-2 abgeleitet ist.

Beachten Sie, dass einige Kulturnamen auch ein ISO 15924-Skript angeben. Beispielsweise gibt (dem kyrillischen Skripts und Latn gibt der lateinischer Schrift angezeigt. Ein Kulturname, Verwendung eines Skripts das Muster languagecode2-scripttag-Land/regioncode2 enthält. Ein Beispiel für diesen Typ von Kulturnamen ist uz-Cyrl-UZ für Usbekisch (kyrillisch, Usbekistan). Unter Windows-Betriebssystemen vor Windows Vista, ein Kulturname, Verwendung eines Skripts das Muster languagecode2-Land/regioncode2-scripttag beispielsweise uz-UZ-Cyrl für Usbek (Kyrillisch, Usbekistan) enthält.

Eine neutrale Kultur wird nur durch den aus zwei Kleinbuchstaben bestehenden Sprachcode angegeben. Von gibt der neutralen Kultur für Französisch an, und gibt der neutralen Kultur "de" für Deutsch angezeigt.

HinweisHinweis

Es gibt zwei Kulturnamen, die nicht dieser Regel entsprechen. Die Kulturen "zh-Hans" (Chinesisch [vereinfacht]) und "zh-Hant" (Chinesisch [traditionell]) sind jeweils neutrale Kulturen. Die Kulturnamen stellen den aktuellen Standard dar und können verwendet werden, es sei denn, Sie einen Grund für das Verwenden der älteren ZhCHS Namen und ZhCHT haben.

Ein Kulturbezeichner ist eine internationale numerische Standardabkürzung und hat die Komponenten, die zum eindeutigen Identifizieren einer der installierten Kulturen notwendig sind. Die Anwendung kann vordefinierte Kulturbezeichner verwenden oder benutzerdefinierte Bezeichner definieren.

Bestimmte vordefinierte Kulturnamen und -bezeichner werden von dieser und anderen Klassen im System.Globalization-Namespace verwendet. Ausführliche Kulturinformationen werden in der National Language Support (NLS)-API-Referenz im Go Global-Entwicklercenter angezeigt.

Beachten Sie, dass die nachfolgend aufgeführten Kulturnamen und Bezeicher nur einen Teil der Kulturen darstellen, der sich auf einem bestimmten Computer befinden kann. Je nach Windows-Version oder durch Service Packs können sich die verfügbaren Kulturen ändern. In Anwendungen werden benutzerdefinierte Kulturen mit der CultureAndRegionInfoBuilder-Klasse hinzugefügt. Benutzer können eigene benutzerdefinierte Kulturen mit dem Tool Microsoft Locale Builder hinzufügen. Microsoft Locale Builder wird mit der CultureAndRegionInfoBuilder-Klasse in verwalteten Code geschrieben.

Verschiedene eindeutige Namen sind eng mit einer Kultur verknüpft, insbesondere Namen, die den folgenden Klassenmembern zugeordnet sind:

Invariantes Element, neutral und spezifische Kulturen

Die Kulturen sind i. d. R. in drei Gruppen zusammengefasst: die invarianten Kulturen, die neutralen Kulturen und die spezifischen Kulturen.

Bei einer invarianten Kultur wird keine Kultur berücksichtigt. In Anwendungen wird die invariante Kultur durch einen Namen mit leerer Zeichenfolge ("") oder durch den zugehörigen Bezeichner angegeben. InvariantCulture definiert eine Instanz der invarianten Kultur. Sie ist der englischen Sprache zugeordnet, aber ohne Bezug auf ein Land oder eine Region. Sie wird in fast allen Methoden im Globalization-Namespace verwendet, die eine Kultur erfordern.

Eine neutrale Kultur ist eine Kultur, die einer Sprache zugeordnet ist, aber keinem Land und keiner Region. Eine spezifische Kultur ist eine Kultur, die einer Sprache und einem Land oder einer Region zugeordnet ist. So steht beispielsweise fr für den neutralen Namen der Kultur Französisch und fr-FR für die spezifische Kultur Französisch (Frankreich). Beachten Sie, dass es sich bei Chinesisch (vereinfacht) und Chinesisch (traditionell) auch um neutrale Kulturen handelt.

Das Erstellen einer Instanz einer CompareInfo-Klasse für eine neutrale Kultur wird nicht empfohlen, da die enthaltenen Daten willkürlich sind. Um die Daten anzuzeigen und zu sortieren, geben Sie die Sprache und die Region an. Außerdem gibt die Name-Eigenschaft eines für eine neutrale Kultur erstellten CompareInfo-Objekts nur das Land und nicht die Region zurück.

Die definierten Kulturen bilden eine Hierarchie, bei der das übergeordnete Element einer bestimmten Kultur eine neutrale Kultur und das übergeordnete Element einer neutralen Kultur die invariante Kultur ist. Die Parent-Eigenschaft enthält die einer bestimmten Kultur zugeordnete neutrale Kultur. Benutzerdefinierte Kulturen sollten die Parent-Eigenschaft in Übereinstimmung mit diesem Muster definieren.

Wenn die Ressourcen für eine spezifische Kultur im Betriebssystem nicht verfügbar sind, werden die Ressourcen für die zugehörige neutrale Kultur verwendet. Wenn die Ressourcen für die neutrale Kultur nicht verfügbar sind, werden die in die Hauptassembly eingebetteten Ressourcen verwendet. Weitere Informationen über den Vorgang des Ressourcenfallbacks finden Sie unter Verpacken und Bereitstellen von Ressourcen in Desktop-Apps.

Die Liste der Gebietsschemas in der Windows-API unterscheidet sich geringfügig von der Liste der unterstützten Kulturen in .NET Framework. Wenn Interoperabilität mit Windows erforderlich ist, z. B. über den p/invoke-Mechanismus, sollte in der Anwendung eine für das Betriebssystem definierte, spezifische Kultur verwendet werden. Durch die Verwendung einer spezifischen Kultur wird Konsistenz mit dem äquivalenten Windows-Gebietsschema sichergestellt, das mit einem Gebietsschemabezeichner gekennzeichnet ist, der mit LCID übereinstimmt.

Eine DateTimeFormatInfo oder eine NumberFormatInfo kann nicht für neutrale Kulturen, sondern nur für die invariante Kultur oder für spezifische Kulturen erstellt werden.

Wenn DateTimeFormatInfo.CalendarTaiwanCalendar ist, wird Thread.CurrentCulture nicht auf zh-TW, dann DateTimeFormatInfo.NativeCalendarName, DateTimeFormatInfo.GetEraName und DateTimeFormatInfo.GetAbbreviatedEraName um eine leere Zeichenfolge ("") festgelegt.

Benutzerdefinierte Kulturen

Zusätzlich zu den vordefinierten Kulturen unterstützt vom Windows-Betriebssystem und .NET Framework, die .NET Framework-Unterstützung drei Typen benutzerdefinierte Kulturen:

  • Neue Kulturen, die die Kulturen ergänzen, die in Windows oder in .NET Framework verfügbar sind. Beispielsweise kann eine Anwendung ein CultureInfo-Objekt, installieren das die fj-FJ Kultur (oder Fijan (Fidschi)) auf einem System darstellt.

  • Ersatzkulturen, deren Eigenschaften mit den Eigenschaften der Standardkulturen unterscheiden, unterstützten von Windows und .NET Framework.

  • Standardkulturen mit benutzerdefinierte Überschreibungen. Der Benutzer kann die Anwendung Region und Sprache in Systemsteuerung verwenden, die vorhandenen Kultur anpassen Eigenschaftswerte einer.

HinweisHinweis

Sie können die CultureAndRegionInfoBuilder-Klasse verwenden, um benutzerdefinierte Kulturen zu definieren, zu speichern und zu registrieren, die entweder vorhandene Kulturen Sie ergänzen oder ersetzen Sie. Die CultureAndRegionInfoBuilder.Save-Methode erstellt eine Gebietsschema-Daten-Markupsprachen(ldml)- Datei, die verwendet werden kann, um eine benutzerdefinierte Kultur auf Zielsystemen zu installieren.

Da .NET Framework benutzerdefinierte Kulturen unterstützt, sollten Sie Folgendes, wenn Sie überlegen mit kulturspezifischen Daten:

  • Benutzerdefinierte Kulturen können Werte verfügen, die die Bereiche der vordefinierten Kulturen überschreiten. Beispielsweise gibt es in bestimmten Kulturen außergewöhnlich lange Monatsnamen, ungewöhnliche Formate für Datum und Uhrzeit oder andere unübliche Daten.

  • Wenn Sie kulturspezifische Daten in der Benutzeroberfläche anzeigen, sollten Sie die Anpassungen des Benutzers; respektieren beispielsweise sollte der Benutzer ein 24-Stunden-Format oder ein yyyyMMdd Datumsformat.

  • Beachten Sie, dass benutzerdefinierte Kulturen die Standardwerte überschreiben. Folglich können Kulturdaten nicht als stabil angesehen werden. Ländernamen, Zahl und Datumsformate Schreibweisen und ändern können. Wenn kulturabhängige Sie Daten wie an Verarbeitungsfunktionen für Datum und Uhrzeit zu übergebenden eingegebene Datums- und Uhrzeitzeichenfolgen serialisieren möchten, sollten Sie die invariante Kultur oder bestimmtes benutzerdefinierte Formatzeichenfolge verwenden.

Dynamische Kulturdaten

Außer bei der invarianten Kultur sind Kulturdaten dynamisch. Dies gilt auch für die vordefinierten Kulturen. Länder oder Regionen führen z. B. neue Währungen ein, ändern die Rechtschreibung oder stellen auf einen anderen bevorzugten Kalender um. Infolgedessen werden auch die Kulturdefinitionen geändert, um dies widerzuspiegeln. Benutzerdefinierte Kulturen können ohne Ankündigung geändert werden, und sämtliche spezifische Kulturen können durch eine benutzerdefinierte Ersatzkultur überschrieben werden. Außerdem kann ein einzelner Benutzer kulturelle Einstellungen überschreiben. Dieser Vorgang wird weiter unten beschrieben. In Anwendungen sollten die Kulturdaten stets zur Laufzeit abgerufen werden.

WarnhinweisVorsicht

Wenn diese Daten speichert, sollte die Anwendung die invariante Kultur, ein Binärformat oder ein bestimmtes kulturunabhängiges Format verwenden. Daten, die mit den aktuellen Werten gespeichert wurden, die einer bestimmten Kultur, aber nicht der invarianten Kultur zugeordnet sind, können möglicherweise nicht mehr gelesen werden, oder ihre Bedeutung wechselt, wenn diese Kultur geändert wird.

Kultur und Threads

Wenn ein Neuanmeldungsthread gestartet wird, werden dessen aktuellen Kultur und die aktuelle Benutzeroberflächenkultur durch die aktuelle Systemkultur und nicht durch die aktuelle Threadkultur definiert. Der Unterschied wird im folgenden Beispiel veranschaulicht. Für die aktuelle Kultur und die aktuelle Benutzeroberflächenkultur eines Anwendungsthreads auf die Kultur Französisch (Frankreich) fest (fr-FR). Wenn die aktuelle Kultur fr-FR bereits ist, legt das Beispiel es auf die Kultur Englisch (USA) fest (en-US). Es werden drei Zufallszahlen, wie Währung bereichs- und dann einen neuen Thread erstellt, der wiederum anzeigt drei weitere Zufallszahlen als Währungswerte an. jedoch, wie die Ausgabe im Beispiel zeigt, werden die Währungswerte, die vom neuen Thread angezeigt werden, nicht der Formatierungskonventionen der französischen (Frankreich) Kultur, unterschiedlich die Ausgabe vom Hauptanwendungsthread.


using System;
using System.Globalization;
using System.Threading;

public class Example
{
   static Random rnd = new Random();

   public static void Main()
   {
      if (Thread.CurrentThread.CurrentCulture.Name != "fr-FR") {
         // If current culture is not fr-FR, set culture to fr-FR.
         Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("fr-FR");
         Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("fr-FR");
      }
      else {
         // Set culture to en-US.
         Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-US");
         Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("en-US");
      }
      ThreadProc();

      Thread worker = new Thread(ThreadProc);
      worker.Name = "WorkerThread";
      worker.Start();
   }

   private static void DisplayThreadInfo()
   {
      Console.WriteLine("\nCurrent Thread Name: '{0}'", 
                        Thread.CurrentThread.Name);
      Console.WriteLine("Current Thread Culture/UI Culture: {0}/{1}", 
                        Thread.CurrentThread.CurrentCulture.Name,
                        Thread.CurrentThread.CurrentUICulture.Name);                        
   }

   private static void DisplayValues()
   {
      // Create new thread and display three random numbers.
      Console.WriteLine("Some currency values:");
      for (int ctr = 0; ctr <= 3; ctr++)
         Console.WriteLine("   {0:C2}", rnd.NextDouble() * 10);                        
   }

   private static void ThreadProc()
   {
      DisplayThreadInfo();
      DisplayValues();
   }
}
// The example displays output similar to the following:
//       Current Thread Name: ''
//       Current Thread Culture/UI Culture: fr-FR/fr-FR
//       Some currency values:
//          8,11 €
//          1,48 €
//          8,99 €
//          9,04 €
//       
//       Current Thread Name: 'WorkerThread'
//       Current Thread Culture/UI Culture: en-US/en-US
//       Some currency values:
//          $6.72
//          $6.35
//          $2.90
//          $7.72


In .NET Framework-Versionen vor .NET Framework 4.5, ist die häufigste Methode, dass der Hauptthread, dieselbe freigibt Kultur mit allen anderen Arbeitsthreads sicherzustellen, entweder den Namen der anwendungsübergreifenden Kultur oder ein CultureInfo-Objekt übergeben, das die Kultur anwendungsweite zu einem System.Threading.ParameterizedThreadStart-Delegaten darstellt. Im folgenden Beispiel wird dieser Ansatz verwendet, um sicherzustellen, dass die Währungswerte, die von zwei Threads angezeigt werden, die Formatierungskonventionen derselben Kultur widergespiegelt.


using System;
using System.Globalization;
using System.Threading;

public class Example
{
   static Random rnd = new Random();

   public static void Main()
   {
      if (Thread.CurrentThread.CurrentCulture.Name != "fr-FR") {
         // If current culture is not fr-FR, set culture to fr-FR.
         Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("fr-FR");
         Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("fr-FR");
      }   
      else {
         // Set culture to en-US.
         Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-US");
         Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("en-US");
      }
      DisplayThreadInfo();
      DisplayValues();

       Thread worker = new Thread(Example.ThreadProc);
       worker.Name = "WorkerThread";
       worker.Start(Thread.CurrentThread.CurrentCulture);
   }

   private static void DisplayThreadInfo()
   {
      Console.WriteLine("\nCurrent Thread Name: '{0}'", 
                        Thread.CurrentThread.Name);
      Console.WriteLine("Current Thread Culture/UI Culture: {0}/{1}", 
                        Thread.CurrentThread.CurrentCulture.Name,
                        Thread.CurrentThread.CurrentUICulture.Name);                        
   }

   private static void DisplayValues()
   {
      // Create new thread and display three random numbers.
      Console.WriteLine("Some currency values:");
      for (int ctr = 0; ctr <= 3; ctr++)
         Console.WriteLine("   {0:C2}", rnd.NextDouble() * 10);                        
   }

   private static void ThreadProc(Object obj) 
   {
      Thread.CurrentThread.CurrentCulture = (CultureInfo) obj;
      Thread.CurrentThread.CurrentUICulture = (CultureInfo) obj;
      DisplayThreadInfo();
      DisplayValues();
   }
}
// The example displays output similar to the following:
//       Current Thread Name: ''
//       Current Thread Culture/UI Culture: fr-FR/fr-FR
//       Some currency values:
//          6,83 €
//          3,47 €
//          6,07 €
//          1,70 €
//       
//       Current Thread Name: 'WorkerThread'
//       Current Thread Culture/UI Culture: fr-FR/fr-FR
//       Some currency values:
//          9,54 €
//          9,50 €
//          0,58 €
//          6,91 €


Sie können die Kultur festlegen und Benutzeroberflächenkultur des Threadpools Tabellen auf ähnliche Weise, indem sie die ThreadPool.QueueUserWorkItem(WaitCallback, Object)-Methode aufruft.

Ab .NET Framework 4.5, können Sie die Kultur und die Kultur der Benutzeroberfläche aller Threads in einer Anwendungsdomäne festlegen, indem Sie direkt ein CultureInfo-Objekt zuweisen, das die Kultur an den DefaultThreadCurrentCulture-Eigenschaften DefaultThreadCurrentUICulture darstellt. Im folgenden Beispiel wird diese Eigenschaften, um sicherzustellen, dass alle Threads in der Standardanwendungsdomäne derselben Kultur freigeben.


using System;
using System.Globalization;
using System.Threading;

public class Example
{
   static Random rnd = new Random();

   public static void Main()
   {
      if (Thread.CurrentThread.CurrentCulture.Name != "fr-FR") {
         // If current culture is not fr-FR, set culture to fr-FR.
         CultureInfo.DefaultThreadCurrentCulture = CultureInfo.CreateSpecificCulture("fr-FR");
         CultureInfo.DefaultThreadCurrentUICulture = CultureInfo.CreateSpecificCulture("fr-FR");
      }   
      else {
         // Set culture to en-US.
         CultureInfo.DefaultThreadCurrentCulture = CultureInfo.CreateSpecificCulture("en-US");
         CultureInfo.DefaultThreadCurrentUICulture = CultureInfo.CreateSpecificCulture("en-US");
      }
      ThreadProc();

      Thread worker = new Thread(Example.ThreadProc);
      worker.Name = "WorkerThread";
      worker.Start();
   }

   private static void DisplayThreadInfo()
   {
      Console.WriteLine("\nCurrent Thread Name: '{0}'", 
                        Thread.CurrentThread.Name);
      Console.WriteLine("Current Thread Culture/UI Culture: {0}/{1}", 
                        Thread.CurrentThread.CurrentCulture.Name,
                        Thread.CurrentThread.CurrentUICulture.Name);                        
   }

   private static void DisplayValues()
   {
      // Create new thread and display three random numbers.
      Console.WriteLine("Some currency values:");
      for (int ctr = 0; ctr <= 3; ctr++)
         Console.WriteLine("   {0:C2}", rnd.NextDouble() * 10);                        
   }

   private static void ThreadProc() 
   {
      DisplayThreadInfo();
      DisplayValues();
   }
}
// The example displays output similar to the following:
//       Current Thread Name: ''
//       Current Thread Culture/UI Culture: fr-FR/fr-FR
//       Some currency values:
//          6,83 €
//          3,47 €
//          6,07 €
//          1,70 €
//       
//       Current Thread Name: 'WorkerThread'
//       Current Thread Culture/UI Culture: fr-FR/fr-FR
//       Some currency values:
//          9,54 €
//          9,50 €
//          0,58 €
//          6,91 €


WarnhinweisVorsicht

Obwohl die DefaultThreadCurrentCulture und DefaultThreadCurrentUICulture-Eigenschaften statische Member sind, definieren die Standardkultur und nehmen Benutzeroberflächenkultur für die Anwendungsdomäne nur den Standardwert an, die zum Zeitpunkt diese Eigenschaftswerte werden festgelegt aktuell ist. Weitere Informationen finden Sie im nächsten Abschnitt, Kultur und Anwendungsdomänen.

Wenn Sie Werte für die DefaultThreadCurrentCulture und DefaultThreadCurrentUICulture zuweisen Eigenschaften ändern, die Kultur und die benutzeroberflächenspezifische Kultur der Threads in der Anwendungsdomäne auch, falls nicht explizit eine Kultur zugewiesen wurden. Allerdings entsprechen diese Threads die neuen Kultureinstellungen, nur während sie in der aktuellen Anwendungsdomäne ausführen. Wenn diese Threads in einer anderen Anwendungsdomäne ausgeführt werden, wird deren Kultur die Standardkultur, die für diese Anwendungsdomäne definiert wird. Folglich empfohlen, immer die Kultur des Hauptanwendungsthreads, und nicht auf die DefaultThreadCurrentCulture und DefaultThreadCurrentUICulture zu erstellen, Eigenschaften festlegen, um sie zu ändern.

Kultur und Anwendungsdomänen

DefaultThreadCurrentCulture und DefaultThreadCurrentUICulture sind statische Eigenschaften, die explizit eine Standardkultur nur für die Anwendungsdomäne definieren, die aktuell ist, wenn der Eigenschaftswert festgelegt oder abgerufen wird. Im folgenden Beispiel wird die Standardkultur und standardmäßige Benutzeroberflächenkultur in der Standardanwendungsdomäne auf Französisch (Frankreich)) fest und verwendet dann die AppDomainSetup-Klasse und den Delegaten AppDomainInitializer, um die Standardkultur und Benutzeroberflächen in einer neuen Anwendungsdomäne auf) (Russische Föderation) festzulegen. Ein Thread arbeitet führt dann zwei Methoden in jeder Anwendungsdomäne aus. Beachten Sie, dass für die Kultur und die benutzeroberflächenspezifische Kultur Threads nicht explizit festgelegt werden; Sie werden von der Standardkultur und der UI-Kultur der Anwendungsdomäne abgeleitet, in der der Thread ausgeführt wird. Beachten Sie auch, dass die Eigenschaften DefaultThreadCurrentCulture und DefaultThreadCurrentUICulture die Standardeinstellung CultureInfo der Anwendungsdomäne Werten zurückgeben, die aktuell ist, wenn beim Methodenaufruf gemacht wird.


using System;
using System.Globalization;
using System.Reflection;
using System.Threading;

public class Example
{
   public static void Main()
   {
      // Set the default culture and display the current date in the current application domain.
      Info info1 = new Info();
      SetAppDomainCultures("fr-FR");

      // Create a second application domain.
      AppDomainSetup setup = new AppDomainSetup();
      setup.AppDomainInitializer = SetAppDomainCultures;
      setup.AppDomainInitializerArguments = new string[] { "ru-RU" };
      AppDomain domain = AppDomain.CreateDomain("Domain2", null, setup);
      // Create an Info object in the new application domain.
      Info info2 = (Info) domain.CreateInstanceAndUnwrap(typeof(Example).Assembly.FullName, 
                                                         "Info"); 

      // Execute methods in the two application domains.
      info2.DisplayDate();
      info2.DisplayCultures();

      info1.DisplayDate();
      info1.DisplayCultures();            
   }

   public static void SetAppDomainCultures(string[] names)
   {
      SetAppDomainCultures(names[0]);
   }

   public static void SetAppDomainCultures(string name)
   {
       try {
         CultureInfo.DefaultThreadCurrentCulture = CultureInfo.CreateSpecificCulture(name);
         CultureInfo.DefaultThreadCurrentUICulture = CultureInfo.CreateSpecificCulture(name);
      }
      // If an exception occurs, we'll just fall back to the system default.
      catch (CultureNotFoundException) {
         return;
      }   
      catch (ArgumentException) {
         return;
      } 
   }
}

public class Info : MarshalByRefObject
{
   public void DisplayDate()
   {
      Console.WriteLine("Today is {0:D}", DateTime.Now);
   }

   public void DisplayCultures()
   {
      Console.WriteLine("Application domain is {0}", AppDomain.CurrentDomain.Id);
      Console.WriteLine("Default Culture: {0}", CultureInfo.DefaultThreadCurrentCulture);
      Console.WriteLine("Default UI Culture: {0}", CultureInfo.DefaultThreadCurrentUICulture);
   }
}
// The example displays the following output:
//       Today is 14 октября 2011 г.
//       Application domain is 2
//       Default Culture: ru-RU
//       Default UI Culture: ru-RU
//       Today is vendredi 14 octobre 2011
//       Application domain is 1
//       Default Culture: fr-FR
//       Default UI Culture: fr-FR


Weitere Informationen über Kulturen und Anwendungsdomänen finden Sie unter Anwendungsdomänen und Threads.

CultureInfo-Objektserialisierung

Wenn ein CultureInfo-Objekt serialisiert wird, werden tatsächlich nur Name und UseUserOverride gespeichert. Es wird nur in einer Umgebung erfolgreich deserialisiert, in der dieser Name dieselbe Bedeutung hat. In den folgenden drei Beispielen wird gezeigt, warum dies nicht immer der Fall ist:

  • Wenn der CultureTypes-Eigenschaftswert CultureTypes.WindowsOnlyCultures lautet und diese Kultur zuerst in Windows Vista oder in einer höheren Version des Betriebssystems Windows eingeführt wurde, ist es nicht möglich, es unter Windows XP zu deserialisieren. Entsprechend kann, wenn eine Kultur erst in Windows XP Service Pack 2 eingeführt wurde, die Kultur nicht auf einem Windows XP-System deserialisiert werden, auf dem die Kultur nicht installiert ist.

  • Wenn CultureTypes der Wert CultureTypes.UserCustomCulture ist und der Computer, auf dem es deserialisiert wird, nicht installiert diese benutzerdefinierte Kultur des Benutzers hat, ist es nicht möglich, eine zu deserialisieren.

  • Wenn CultureTypes der Wert CultureTypes.ReplacementCultures ist und der Computer, auf dem es deserialisiert wird, nicht diese Ersatzkultur verfügt, deserialisiert er dem gleichen Namen, jedoch nicht allen gleichen Eigenschaften. Wenn en-US einer Ersatzkultur auf Computer A ist, nicht jedoch auf Computer B und wenn ein CultureInfo-Objekt, das diese Kultur bezieht, auf Computer A serialisiert wird und auf Computer B, deserialisiert dann keinen der benutzerdefinierten Eigenschaften der Kultur werden gesendet. Die Deserialisierung wird zwar erfolgreich ausgeführt, aber mit anderer Bedeutung.

Systemsteuerungsüberschreibungen

In der Systemsteuerung können in den Regions- und Sprachoptionen einige Werte überschrieben werden, die der aktuellen Kultur von Windows zugeordnet sind. Beispielsweise können Benutzer das Datum in einem anderen Format anzeigen lassen oder eine andere Währung als die Standardwährung dieser Kultur verwenden. Im Allgemeinen sollten diese Benutzerüberschreibungen in Anwendungen berücksichtigt werden.

Wenn UseUserOverridetrue ist und die angegebene Kultur mit der aktuellen Kultur von Windows übereinstimmt, verwendet CultureInfo diese Überschreibungen, einschließlich von Benutzereinstellungen für die Eigenschaften der DateTimeFormatInfo-Instanz, die von der DateTimeFormat-Eigenschaft zurückgegeben wird, und der Eigenschaften der NumberFormatInfo-Instanz, die von der NumberFormat-Eigenschaft zurückgegeben wird. Wenn die Benutzereinstellungen nicht mit der Kultur kompatibel sind, die der CultureInfo zugeordnet ist, weil z. B. der ausgewählte Kalender keiner der OptionalCalendars ist, sind die Methodenergebnisse und Eigenschaftswerte nicht definiert.

Alternative Sortierreihenfolgen

Einige Kulturen unterstützten mehr als eine Sortierreihenfolge. Zum Beispiel:

  • Die spanische (Spanien-) Kultur hat zwei Sortierreihenfolgen: die internationale Sortierreihenfolge der standardmäßigen und die Reihenfolge der traditionellen Sortierung. Wenn Sie ein CultureInfo-Objekt mit dem es-ES-Kulturnamen instanziieren, wird die internationale Sortierreihenfolge verwendet. Wenn Sie ein CultureInfo-Objekt mit dem Kulturnamen es-ES-tradnl instanziieren, wird die Reihenfolge der traditionellen Sortierung verwendet.

  • Zh-CN (chinesisch (vereinfacht, PRC)) Kultur unterstützt zwei Sortierreihenfolgen: nach Aussprache (Standard) und nach Anzahl. Wenn Sie ein CultureInfo-Objekt mit dem zh-CN-Kulturnamen instanziieren, wird die Standardsortierreihenfolge verwendet. Wenn Sie ein CultureInfo-Objekt mit einem lokalen Bezeichner von 0x00020804 instanziieren, werden Zeichenfolgen nach Strichanzahl sortiert.

Die folgende Tabelle enthält die Kulturen, die unterschiedliche Sortierreihenfolgen unterstützen, sowie die Bezeichner für die standardmäßigen und die alternativen Sortierreihenfolgen.

Kulturname

Kultur

Standardsortierreihenfolge und Bezeichner

Alternative Sortierreihenfolge und Bezeichner

es-ES

Spanisch (Spanien)

International: 0x00000C0A

Traditionell: 0x0000040A

zh-TW

Chinesisch (Taiwan)

Anzahl der Striche: 0x00000404

Bopomofo: 0x00030404

zh-CN

Chinesisch (VRC)

Aussprache: 0x00000804

Anzahl der Striche: 0x00020804

zh-HK

Chinesisch (Hongkong SAR)

Anzahl der Striche: 0x00000c04

Anzahl der Striche: 0x00020c04

zh-SG

Chinesisch (Singapur)

Aussprache: 0x00001004

Anzahl der Striche: 0x00021004

zh-MO

Chinesisch (Macau SAR)

Aussprache: 0x00001404

Anzahl der Striche: 0x00021404

ja-JP

Japanisch (Japan)

Standard: 0x00000411

Unicode: 0x00010411

ko-KR

Koreanisch (Korea)

Standard: 0x00000412

Koreanisch Xwansung – Unicode: 0x00010412

de-DE

Deutsch (Deutschland)

Wörterbuch: 0x00000407

Telefonbuchsortierung DIN: 0x00010407

hu-HU

Ungarisch (Ungarn)

Standard: 0x0000040e

Technische Sortierung: 0x0001040e

ka-GE

Georgisch (Georgien)

Traditionell: 0x00000437

Moderne Sortierung: 0x00010437

TopicLocation
Gewusst wie: Erstellen von Ressourcendateien für ASP.NET-Websites (Visual Studio)Erstellen von ASP.NET-Webanwendungen in Visual Studio
How to: Create Resource Files for ASP.NET Web SitesBuilding ASP .NET Web Applications
Gewusst wie: Festlegen der Kultur und der Kultur der Benutzeroberfläche für die Globalisierung von ASP.NET-WebseitenErstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Programmgesteuertes Abrufen von RessourcenwertenErstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Festlegen der Kultur und der Kultur der Benutzeroberfläche für die Globalisierung von ASP.NET-WebseitenErstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Programmgesteuertes Abrufen von RessourcenwertenErstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Anzeigen von Text in der Schreibrichtung von rechts nach links mithilfe von HTML-Tags für GlobalisierungErstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Erstellen von Ressourcendateien für ASP.NET-Websites (Visual Studio)Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Erstellen von Ressourcendateien für ASP.NET-Websites (Visual Studio)Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Anzeigen von Text in der Schreibrichtung von rechts nach links mithilfe von HTML-Tags für GlobalisierungErstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Festlegen der Kultur und der Kultur der Benutzeroberfläche für die Globalisierung von ASP.NET-WebseitenErstellen von ASP.NET-Webanwendungen
Gewusst wie: Programmgesteuertes Abrufen von RessourcenwertenErstellen von ASP.NET-Webanwendungen
Gewusst wie: Erstellen von Ressourcendateien für ASP.NET-WebsitesErstellen von ASP.NET-Webanwendungen
Gewusst wie: Anzeigen von Text in der Schreibrichtung von rechts nach links mithilfe von HTML-Tags für GlobalisierungErstellen von ASP.NET-Webanwendungen

Das folgende Beispiel zeigt, wie ein CultureInfo-Objekt für Spanisch (Spanien) mit der internationalen Sortierung und ein weiteres CultureInfo-Objekt mit der traditionellen Sortierung erstellt.


using System;
using System.Collections;
using System.Globalization;

public class SamplesCultureInfo
{

   public static void Main()
   {

      // Creates and initializes the CultureInfo which uses the international sort.
      CultureInfo myCIintl = new CultureInfo("es-ES", false);

      // Creates and initializes the CultureInfo which uses the traditional sort.
      CultureInfo myCItrad = new CultureInfo(0x040A, false);

      // Displays the properties of each culture.
      Console.WriteLine("{0,-31}{1,-47}{2,-25}", "PROPERTY", "INTERNATIONAL", "TRADITIONAL");
      Console.WriteLine("{0,-31}{1,-47}{2,-25}", "CompareInfo", myCIintl.CompareInfo, myCItrad.CompareInfo);
      Console.WriteLine("{0,-31}{1,-47}{2,-25}", "DisplayName", myCIintl.DisplayName, myCItrad.DisplayName);
      Console.WriteLine("{0,-31}{1,-47}{2,-25}", "EnglishName", myCIintl.EnglishName, myCItrad.EnglishName);
      Console.WriteLine("{0,-31}{1,-47}{2,-25}", "IsNeutralCulture", myCIintl.IsNeutralCulture, myCItrad.IsNeutralCulture);
      Console.WriteLine("{0,-31}{1,-47}{2,-25}", "IsReadOnly", myCIintl.IsReadOnly, myCItrad.IsReadOnly);
      Console.WriteLine("{0,-31}{1,-47}{2,-25}", "LCID", myCIintl.LCID, myCItrad.LCID);
      Console.WriteLine("{0,-31}{1,-47}{2,-25}", "Name", myCIintl.Name, myCItrad.Name);
      Console.WriteLine("{0,-31}{1,-47}{2,-25}", "NativeName", myCIintl.NativeName, myCItrad.NativeName);
      Console.WriteLine("{0,-31}{1,-47}{2,-25}", "Parent", myCIintl.Parent, myCItrad.Parent);
      Console.WriteLine("{0,-31}{1,-47}{2,-25}", "TextInfo", myCIintl.TextInfo, myCItrad.TextInfo);
      Console.WriteLine("{0,-31}{1,-47}{2,-25}", "ThreeLetterISOLanguageName", myCIintl.ThreeLetterISOLanguageName, myCItrad.ThreeLetterISOLanguageName);
      Console.WriteLine("{0,-31}{1,-47}{2,-25}", "ThreeLetterWindowsLanguageName", myCIintl.ThreeLetterWindowsLanguageName, myCItrad.ThreeLetterWindowsLanguageName);
      Console.WriteLine("{0,-31}{1,-47}{2,-25}", "TwoLetterISOLanguageName", myCIintl.TwoLetterISOLanguageName, myCItrad.TwoLetterISOLanguageName);
      Console.WriteLine();

      // Compare two strings using myCIintl.
      Console.WriteLine("Comparing \"llegar\" and \"lugar\"");
      Console.WriteLine("   With myCIintl.CompareInfo.Compare: {0}", myCIintl.CompareInfo.Compare("llegar", "lugar"));
      Console.WriteLine("   With myCItrad.CompareInfo.Compare: {0}", myCItrad.CompareInfo.Compare("llegar", "lugar"));

   }

}

/*
This code produces the following output.

PROPERTY                       INTERNATIONAL                                  TRADITIONAL              
CompareInfo                    CompareInfo - es-ES                            CompareInfo - es-ES_tradnl
DisplayName                    Spanish (Spain)                                Spanish (Spain)          
EnglishName                    Spanish (Spain, International Sort)            Spanish (Spain, Traditional Sort)
IsNeutralCulture               False                                          False                    
IsReadOnly                     False                                          False                    
LCID                           3082                                           1034                     
Name                           es-ES                                          es-ES                    
NativeName                     Español (España, alfabetización internacional) Español (España, alfabetización tradicional)
Parent                         es                                             es                       
TextInfo                       TextInfo - es-ES                               TextInfo - es-ES_tradnl  
ThreeLetterISOLanguageName     spa                                            spa                      
ThreeLetterWindowsLanguageName ESN                                            ESP                      
TwoLetterISOLanguageName       es                                             es                       

Comparing "llegar" and "lugar"
   With myCIintl.CompareInfo.Compare: -1
   With myCItrad.CompareInfo.Compare: 1

*/


.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Community-Beiträge

Anzeigen:
© 2015 Microsoft