CultureInfo-Klasse
Stellt Informationen zu einer bestimmten Kultur bereit, z. B. den Namen der Kultur, das Schriftsystem, den verwendeten Kalender sowie Informationen zum Formatieren von Datumsangaben und Sortieren von Zeichenfolgen.
Namespace: System.Globalization
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public Class CultureInfo
Implements ICloneable, IFormatProvider
'Usage
Dim instance As CultureInfo
[SerializableAttribute]
[ComVisibleAttribute(true)]
public class CultureInfo : ICloneable, IFormatProvider
[SerializableAttribute]
[ComVisibleAttribute(true)]
public ref class CultureInfo : ICloneable, IFormatProvider
/** @attribute SerializableAttribute() */
/** @attribute ComVisibleAttribute(true) */
public class CultureInfo implements ICloneable, IFormatProvider
SerializableAttribute
ComVisibleAttribute(true)
public class CultureInfo implements ICloneable, IFormatProvider
Hinweise
Die CultureInfo-Klasse enthält kulturabhängige Informationen, z. B. zugeordnete Sprache, Teilsprache, Land/Region, Kalender und kulturelle Konventionen. Mit dieser Klasse ist der Zugriff auf kulturabhängige Instanzen von DateTimeFormatInfo, NumberFormatInfo, CompareInfo und TextInfo möglich. 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 String-Klasse verwendet diese Klasse indirekt, um Informationen über die Standardkultur abzurufen.
Kulturnamen und -bezeichner
Die Kulturnamen folgen dem Standard RFC 1766 und haben das Format "<Sprachcode2>-<Landes-/Regionscode2>". Dabei ist <Sprachcode2> ein aus ISO 639-1 abgeleiteter Code aus zwei Kleinbuchstaben, und <Landes-/Regionsccode2> ist ein Code aus zwei Großbuchstaben nach ISO 3166. Beispielsweise wird für Englisch (USA) "en-US" verwendet. In Fällen, in denen ein Sprachencode aus zwei Buchstaben nicht zur Verfügung steht, wird der aus ISO 639-2 abgeleitete Code aus drei Buchstaben verwendet. Der aus drei Buchstaben bestehende Code "div" wird beispielsweise für Kulturen verwendet, die die Sprache Dhivehi verwenden. Bestimmte Kulturnamen verfügen über Suffixe, die das verwendete Schriftsystem angeben. Mit ""-Cyrl"" wird z. B. die kyrillische Schrift und mit "-Latn" die lateinische Schrift angegeben.
Die folgenden vordefinierten Kulturnamen und -bezeichner werden von dieser und anderen Klassen im System.Globalization-Namespace akzeptiert und verwendet.
Kulturname |
Kulturbezeichner |
Sprache-Land/Region |
---|---|---|
""(leere Zeichenfolge) |
0x007F |
Invariante Kultur |
af |
0x0036 |
Afrikaans |
af-ZA |
0x0436 |
Afrikaans – Südafrika |
sq |
0x001C |
Albanisch |
sq-AL |
0x041C |
Albanisch – Albanien |
ar |
0x0001 |
Arabisch |
ar-DZ |
0x1401 |
Arabisch – Algerien |
ar-BH |
0x3C01 |
Arabisch – Bahrain |
ar-EG |
0x0C01 |
Arabisch – Ägypten |
ar-IQ |
0x0801 |
Arabisch – Irak |
ar-JO |
0x2C01 |
Arabisch – Jordanien |
ar-KW |
0x3401 |
Arabisch – Kuwait |
ar-LB |
0x3001 |
Arabisch – Libanon |
ar-LY |
0x1001 |
Arabisch – Libyen |
ar-MA |
0x1801 |
Arabisch – Marokko |
ar-OM |
0x2001 |
Arabisch – Oman |
ar-QA |
0x4001 |
Arabisch – Katar |
ar-SA |
0x0401 |
Arabisch – Saudi-Arabien |
ar-SY |
0x2801 |
Arabisch – Syrien |
ar-TN |
0x1C01 |
Arabisch – Tunesien |
ar-AE |
0x3801 |
Arabisch – Vereinigte Arabische Emirate |
ar-YE |
0x2401 |
Arabisch – Jemen |
hy |
0x002B |
Armenisch |
hy-AM |
0x042B |
Armenisch – Armenien |
az |
0x002C |
Aserbaidschanisch |
az-AZ-Cyrl |
0x082C |
Aserbaidschanisch (Kyrillisch) – Aserbaidschan |
az-AZ-Latn |
0x042C |
Aserbaidschanisch (Lateinisch) – Aserbaidschan |
eu |
0x002D |
Baskisch |
eu-ES |
0x042D |
Baskisch – Baskisch |
be |
0x0023 |
Belarussisch |
be-BY |
0x0423 |
Belarussisch – Belarus |
bg |
0x0002 |
Bulgarisch |
bg-BG |
0x0402 |
Bulgarisch – Bulgarien |
ca |
0x0003 |
Katalanisch |
ca-ES |
0x0403 |
Katalanisch – Katalanisch |
zh-HK |
0x0C04 |
Chinesisch – Hongkong S.A.R. |
zh-MO |
0x1404 |
Chinesisch – Macao S.A.R. |
zh-CN |
0x0804 |
Chinesisch – China |
zh-CHS |
0x0004 |
Chinesisch (vereinfacht) |
zh-SG |
0x1004 |
Chinesisch – Singapur |
zh-TW |
0x0404 |
Chinesisch – Taiwan |
zh-CHT |
0x7C04 |
Chinesisch (traditionell) |
hr |
0x001A |
Kroatisch |
hr-HR |
0x041A |
Kroatisch – Kroatien |
cs |
0x0005 |
Tschechisch |
cs-CZ |
0x0405 |
Tschechisch – Tschechische Republik |
da |
0x0006 |
Dänisch |
da-DK |
0x0406 |
Dänisch – Dänemark |
div |
0x0065 |
Dhivehi |
div-MV |
0x0465 |
Dhivehi – Malediven |
nl |
0x0013 |
Niederländisch |
nl-BE |
0x0813 |
Niederländisch – Belgien |
nl-NL |
0x0413 |
Niederländisch – Niederlande |
en |
0x0009 |
Englisch |
en-AU |
0x0C09 |
Englisch – Australien |
en-BZ |
0x2809 |
Englisch – Belize |
en-CA |
0x1009 |
Englisch – Kanada |
en-CB |
0x2409 |
Englisch – Karibik |
en-IE |
0x1809 |
Englisch – Irland |
en-JM |
0x2009 |
Englisch – Jamaika |
en-NZ |
0x1409 |
Englisch – Neuseeland |
en-PH |
0x3409 |
Englisch – Philippinen |
en-ZA |
0x1C09 |
Englisch – Südafrika |
en-TT |
0x2C09 |
Englisch – Trinidad und Tobago |
en-GB |
0x0809 |
Englisch – Großbritannien |
en-US |
0x0409 |
Englisch – USA |
en-ZW |
0x3009 |
Englisch – Simbabwe |
et |
0x0025 |
Estnisch |
et-EE |
0x0425 |
Estnisch – Estland |
fo |
0x0038 |
Färingisch |
fo-FO |
0x0438 |
Färingisch – Färöer |
fa |
0x0029 |
Farsi |
fa-IR |
0x0429 |
Farsi – Iran |
fi |
0x000B |
Finnisch |
fi-FI |
0x040B |
Finnisch – Finnland |
fr |
0x000C |
Französisch |
fr-BE |
0x080C |
Französisch – Belgien |
fr-CA |
0x0C0C |
Französisch – Kanada |
fr-FR |
0x040C |
Französisch – Frankreich |
fr-LU |
0x140C |
Französisch – Luxemburg |
fr-MC |
0x180C |
Französisch – Monaco |
fr-CH |
0x100C |
Französisch – Schweiz |
gl |
0x0056 |
Galizisch |
gl-ES |
0x0456 |
Galizisch – Galizisch |
ka |
0x0037 |
Georgisch |
ka-GE |
0x0437 |
Georgisch – Georgien |
de |
0x0007 |
Deutsch |
de-AT |
0x0C07 |
Deutsch - Österreich |
de-DE |
0x0407 |
Deutsch – Deutschland |
de-LI |
0x1407 |
Deutsch – Liechtenstein |
de-LU |
0x1007 |
Deutsch – Luxemburg |
de-CH |
0x0807 |
Deutsch – Schweiz |
el |
0x0008 |
Griechisch |
el-GR |
0x0408 |
Griechisch – Griechenland |
gu |
0x0047 |
Gujarati |
gu-IN |
0x0447 |
Gujarati – Indien |
he |
0x000D |
Hebräisch |
he-IL |
0x040D |
Hebräisch – Israel |
hi |
0x0039 |
Hindi |
hi-IN |
0x0439 |
Hindi – Indien |
hu |
0x000E |
Ungarisch |
hu-HU |
0x040E |
Ungarisch – Ungarn |
is |
0x000F |
Isländisch |
is-IS |
0x040F |
Isländisch – Island |
id |
0x0021 |
Indonesisch |
id-ID |
0x0421 |
Indonesisch – Indonesien |
it |
0x0010 |
Italienisch |
it-IT |
0x0410 |
Italienisch – Italien |
it-CH |
0x0810 |
Italienisch – Schweiz |
ja |
0x0011 |
Japanisch |
ja-JP |
0x0411 |
Japanisch – Japan |
kn |
0x004B |
Kannada |
kn-IN |
0x044B |
Kannada – Indien |
kk |
0x003F |
Kasachisch |
kk-KZ |
0x043F |
Kasachisch – Kasachstan |
kok |
0x0057 |
Konkani |
kok-IN |
0x0457 |
Konkani – Indien |
ko |
0x0012 |
Koreanisch |
ko-KR |
0x0412 |
Koreanisch – Korea |
ky |
0x0040 |
Kirgisisch |
ky-KG |
0x0440 |
Kirgisisch – Kirgisistan |
lv |
0x0026 |
Lettisch |
lv-LV |
0x0426 |
Lettisch – Lettland |
lt |
0x0027 |
Litauisch |
lt-LT |
0x0427 |
Litauisch – Litauen |
mk |
0x002F |
Mazedonisch |
mk-MK |
0x042F |
Mazedonisch – ehemalige jugoslawische Republik Mazedonien |
ms |
0x003E |
Malaiisch |
ms-BN |
0x083E |
Malaiisch – Brunei Darussalam |
ms-MY |
0x043E |
Malaiisch – Malaysia |
mr |
0x004E |
Marathi |
mr-IN |
0x044E |
Marathi – Indien |
mn |
0x0050 |
Mongolisch |
mn-MN |
0x0450 |
Mongolisch – Mongolei |
no |
0x0014 |
Norwegisch |
nb-NO |
0x0414 |
Norwegisch (Bokmål) – Norwegen |
nn-NO |
0x0814 |
Norwegisch (Nynorsk) – Norwegen |
pl |
0x0015 |
Polnisch |
pl-PL |
0x0415 |
Polnisch – Polen |
pt |
0x0016 |
Portugiesisch |
pt-BR |
0x0416 |
Portugiesisch – Brasilien |
pt-PT |
0x0816 |
Portugiesisch – Portugal |
pa |
0x0046 |
Punjabi |
pa-IN |
0x0446 |
Punjabi – Indien |
ro |
0x0018 |
Rumänisch |
ro-RO |
0x0418 |
Rumänisch – Rumänien |
ru |
0x0019 |
Russisch |
ru-RU |
0x0419 |
Russisch – Russland |
sa |
0x004F |
Sanskrit |
sa-IN |
0x044F |
Sanskrit – Indien |
sr-SP-Cyrl |
0x0C1A |
Serbisch (Kyrillisch) – Serbien |
sr-SP-Latn |
0x081A |
Serbisch (Lateinisch) – Serbien |
sk |
0x001B |
Slowakisch |
sk-SK |
0x041B |
Slowakisch – Slowakei |
sl |
0x0024 |
Slowenisch |
sl-SI |
0x0424 |
Slowenisch – Slowenien |
es |
0x000A |
Spanisch |
es-AR |
0x2C0A |
Spanisch – Argentinien |
es-BO |
0x400A |
Spanisch – Bolivien |
es-CL |
0x340A |
Spanisch – Chile |
es-CO |
0x240A |
Spanisch – Kolumbien |
es-CR |
0x140A |
Spanisch – Costa Rica |
es-DO |
0x1C0A |
Spanisch – Dominikanische Republik |
es-EC |
0x300A |
Spanisch – Ecuador |
es-SV |
0x440A |
Spanisch – El Salvador |
es-GT |
0x100A |
Spanisch – Guatemala |
es-HN |
0x480A |
Spanisch – Honduras |
es-MX |
0x080A |
Spanisch – Mexiko |
es-NI |
0x4C0A |
Spanisch – Nicaragua |
es-PA |
0x180A |
Spanisch – Panama |
es-PY |
0x3C0A |
Spanisch – Paraguay |
es-PE |
0x280A |
Spanisch – Peru |
es-PR |
0x500A |
Spanisch – Puerto Rico |
es-ES |
0x0C0A |
Spanisch – Spanien |
es-UY |
0x380A |
Spanisch – Uruguay |
es-VE |
0x200A |
Spanisch – Venezuela |
sw |
0x0041 |
Swahili |
sw-KE |
0x0441 |
Swahili – Kenia |
sv |
0x001D |
Schwedisch |
sv-FI |
0x081D |
Schwedisch – Finnland |
sv-SE |
0x041D |
Schwedisch – Schweden |
syr |
0x005A |
Syrisch |
syr-SY |
0x045A |
Syrisch – Syrien |
ta |
0x0049 |
Tamil |
ta-IN |
0x0449 |
Tamil – Indien |
tt |
0x0044 |
Tatarisch |
tt-RU |
0x0444 |
Tatarisch – Russland |
te |
0x004A |
Telugu |
te-IN |
0x044A |
Telugu – Indien |
th |
0x001E |
Thai |
th-TH |
0x041E |
Thai – Thailand |
tr |
0x001F |
Türkisch |
tr-TR |
0x041F |
Türkisch – Türkei |
uk |
0x0022 |
Ukrainisch |
uk-UA |
0x0422 |
Ukrainisch – Ukraine |
ur |
0x0020 |
Urdu |
ur-PK |
0x0420 |
Urdu – Pakistan |
uz |
0x0043 |
Usbekisch |
uz-UZ-Cyrl |
0x0843 |
Usbekisch (Kyrillisch) – Usbekistan |
uz-UZ-Latn |
0x0443 |
Usbekisch (Lateinisch) – Usbekistan |
vi |
0x002A |
Vietnamesisch |
vi-VN |
0x042A |
Vietnamesisch – Vietnam |
Invariante, neutrale und spezifische Kulturen
Die Kulturen sind i. d. R. in drei Gruppen zusammengefasst: die invariante Kultur, die neutralen Kulturen und die spezifischen Kulturen.
Bei der invarianten Kultur wird keine Kultur berücksichtigt. Sie können die invariante Kultur durch einen Namen mit leerer Zeichenfolge ("") oder durch den zugehörigen Kulturbezeichner 0x007F angeben. InvariantCulture ruft eine Instanz der invarianten Kultur ab. Sie ist der englischen Sprache zugeordnet, aber ohne Bezug auf ein Land oder eine Region. Sie kann in fast allen Methoden im Globalization-Namespace verwendet werden, 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. Beispielsweise ist "fr" eine neutrale Kultur, und "fr-FR" ist eine spezifische Kultur. Beachten Sie, dass es sich bei "zh-CHS" (vereinfachtes Chinesisch) und "zh-CHT" (traditionelles Chinesisch) um neutrale Kulturen handelt.
Beachten Sie, dass es nicht empfohlen wird, eine Instanz einer CompareInfo-Klasse für eine neutrale Kultur zu erstellen, 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 Kulturen bilden eine Hierarchie, bei der das übergeordnete Element einer bestimmten Kultur eine neutrale Kultur und das übergeordnete Element einer neutralen Kultur die InvariantCulture ist. Die Parent-Eigenschaft gibt die mit einer bestimmten Kultur verbundene neutrale Kultur zurück.
Wenn die Ressourcen für die entsprechende Kultur im System nicht zur Verfügung stehen, werden die Ressourcen für die neutrale Kultur verwendet. Wenn die Ressourcen für die neutrale Kultur nicht verfügbar sind, werden die in der Hauptassembly eingebetteten Ressourcen verwendet. Weitere Informationen über den Vorgang des Ressourcenfallbacks finden Sie unter Verpacken und Bereitstellen von Ressourcen.
Die Liste der Kulturen in der Windows-API unterscheidet sich geringfügig von der Liste der Kulturen in .NET Framework. Die neutrale Kultur zh-CHT "Chinesisch (traditionell)" mit dem Kulturbezeichner 0x7C04 steht in der Windows-API beispielsweise nicht zur Verfügung. Wenn Interoperabilität mit Windows erforderlich ist (z. B. über den p/invoke-Mechanismus), verwenden Sie eine im Betriebssystem definierte, spezifische Kultur. Auf diese Weise wird Konsistenz mit dem äquivalenten Windows-Gebietsschema garantiert, das mit derselben LCID angegeben wird.
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.Calendar der TaiwanCalendar ist, die Thread.CurrentCulture jedoch nicht "zh-TW" ist, geben DateTimeFormatInfo.NativeCalendarName, DateTimeFormatInfo.GetEraName und DateTimeFormatInfo.GetAbbreviatedEraName eine leere Zeichenfolge zurück ("").
Windows-Gebietsschemas
Ab .NET Framework Version 2.0 unterstützt der CultureInfo-Konstruktor Windows-Gebietsschemas, die Kulturen entsprechen, um in .NET Framework nicht vorhandene Kulturen automatisch zu generieren. Weitere Informationen finden Sie unter Von Windows-Gebietsschemas generierte Kulturen.
Systemsteuerungsüberschreibungen
In der Systemsteuerung können über Regions- und Sprachoptionen (bzw. über Ländereinstellungen oder Gebietsschema) einige Werte überschrieben werden, die der aktuellen Kultur von Windows zugeordnet sind. Beispielsweise können Benutzer das Datum in einem anderen Format anzeigen oder eine andere Währung als die Standardwährung der Kultur verwenden.
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 Eigenschaftenwerte undefiniert.
Für Kulturen, in denen der Euro verwendet wird, legen .NET Framework und Windows XP die Standardwährung auf Euro fest. Bei älteren Versionen von Windows ist dies nicht der Fall. Wenn Benutzer einer älteren Version von Windows die Währungseinstellung nicht in der Systemsteuerung in den Ländereinstellungen geändert haben, ist die Währungsangabe deshalb möglicherweise nicht korrekt. Wenn für die Währung die Standardeinstellung von .NET Framework verwendet werden soll, verwenden Sie eine Überladung des CultureInfo-Konstruktors, die einen useUserOverride-Parameter akzeptiert, und legen Sie diesen auf false fest.
Alternative Sortierreihenfolgen
Der Kulturbezeichner "0x0c0a" für "Spanisch – Spanien" verwendet die internationale Standardsortierreihenfolge, während der Kulturbezeichner "0x040A", der ebenfalls für "Spanisch – Spanien" steht, die herkömmliche Sortierreihenfolge verwendet. Wenn die CultureInfo mithilfe des Kulturnamens "es-ES" erstellt wird, verwendet die neue CultureInfo die internationale Standardsortierreihenfolge. Zum Erstellen einer CultureInfo mit herkömmlicher Sortierreihenfolge verwenden Sie den Kulturbezeichner "0x040A" mit dem Konstruktor. Weitere Informationen über Kulturen mit anderen Sortierreihenfolgen finden Sie unter Vergleichen und Sortieren von Daten für eine bestimmte Kultur.
Implementierte Schnittstellen
Diese Klasse implementiert die ICloneable-Schnittstelle, um die Duplizierung von CultureInfo-Objekten zu ermöglichen. Sie implementiert auch den IFormatProvider, um Anwendungen Formatierungsinformationen zur Verfügung zu stellen.
Kulturen, Threads und Anwendungsdomänen
Beim Verwenden von einem CultureInfo-Objekt zugeordneten Threads müssen besondere Faktoren berücksichtigt werden. Weitere Informationen über Kulturen und Anwendungsdomänen finden Sie unter Anwendungsdomänen und Threads.
Beispiel
In folgendem Codebeispiel wird die Erstellung einer CultureInfo für "Spanisch – Spanien" mit der internationalen Sortierung und einer anderen CultureInfo mit der herkömmlichen Sortierung dargestellt.
Imports System
Imports System.Collections
Imports System.Globalization
Public Class SamplesCultureInfo
Public Shared Sub Main()
' Creates and initializes the CultureInfo which uses the international sort.
Dim myCIintl As New CultureInfo("es-ES", False)
' Creates and initializes the CultureInfo which uses the traditional sort.
Dim myCItrad As New CultureInfo(&H40A, False)
' Displays the properties of each culture.
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "PROPERTY", "INTERNATIONAL", "TRADITIONAL")
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "CompareInfo", myCIintl.CompareInfo, myCItrad.CompareInfo)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "DisplayName", myCIintl.DisplayName, myCItrad.DisplayName)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "EnglishName", myCIintl.EnglishName, myCItrad.EnglishName)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "IsNeutralCulture", myCIintl.IsNeutralCulture, myCItrad.IsNeutralCulture)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "IsReadOnly", myCIintl.IsReadOnly, myCItrad.IsReadOnly)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "LCID", myCIintl.LCID, myCItrad.LCID)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "Name", myCIintl.Name, myCItrad.Name)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "NativeName", myCIintl.NativeName, myCItrad.NativeName)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "Parent", myCIintl.Parent, myCItrad.Parent)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "TextInfo", myCIintl.TextInfo, myCItrad.TextInfo)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "ThreeLetterISOLanguageName", myCIintl.ThreeLetterISOLanguageName, myCItrad.ThreeLetterISOLanguageName)
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "ThreeLetterWindowsLanguageName", myCIintl.ThreeLetterWindowsLanguageName, myCItrad.ThreeLetterWindowsLanguageName)
Console.WriteLine("{0,-33}{1,-25}{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"))
End Sub 'Main
End Class 'SamplesCultureInfo
'This code produces the following output.
'
'PROPERTY INTERNATIONAL TRADITIONAL
'CompareInfo CompareInfo - 3082 CompareInfo - 1034
'DisplayName Spanish (Spain) Spanish (Spain)
'EnglishName Spanish (Spain) Spanish (Spain)
'IsNeutralCulture False False
'IsReadOnly False False
'LCID 3082 1034
'Name es-ES es-ES
'NativeName español (España) español (España)
'Parent es es
'TextInfo TextInfo - 3082 TextInfo - 1034
'ThreeLetterISOLanguageName spa spa
'ThreeLetterWindowsLanguageName ESN ESN
'TwoLetterISOLanguageName es es
'
'Comparing "llegar" and "lugar"
' With myCIintl.CompareInfo.Compare: -1
' With myCItrad.CompareInfo.Compare: 1
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,-33}{1,-25}{2,-25}", "PROPERTY", "INTERNATIONAL", "TRADITIONAL" );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "CompareInfo", myCIintl.CompareInfo, myCItrad.CompareInfo );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "DisplayName", myCIintl.DisplayName, myCItrad.DisplayName );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "EnglishName", myCIintl.EnglishName, myCItrad.EnglishName );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "IsNeutralCulture", myCIintl.IsNeutralCulture, myCItrad.IsNeutralCulture );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "IsReadOnly", myCIintl.IsReadOnly, myCItrad.IsReadOnly );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "LCID", myCIintl.LCID, myCItrad.LCID );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "Name", myCIintl.Name, myCItrad.Name );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "NativeName", myCIintl.NativeName, myCItrad.NativeName );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "Parent", myCIintl.Parent, myCItrad.Parent );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "TextInfo", myCIintl.TextInfo, myCItrad.TextInfo );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "ThreeLetterISOLanguageName", myCIintl.ThreeLetterISOLanguageName, myCItrad.ThreeLetterISOLanguageName );
Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "ThreeLetterWindowsLanguageName", myCIintl.ThreeLetterWindowsLanguageName, myCItrad.ThreeLetterWindowsLanguageName );
Console.WriteLine( "{0,-33}{1,-25}{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 - 3082 CompareInfo - 1034
DisplayName Spanish (Spain) Spanish (Spain)
EnglishName Spanish (Spain) Spanish (Spain)
IsNeutralCulture False False
IsReadOnly False False
LCID 3082 1034
Name es-ES es-ES
NativeName español (España) español (España)
Parent es es
TextInfo TextInfo - 3082 TextInfo - 1034
ThreeLetterISOLanguageName spa spa
ThreeLetterWindowsLanguageName ESN ESN
TwoLetterISOLanguageName es es
Comparing "llegar" and "lugar"
With myCIintl.CompareInfo.Compare: -1
With myCItrad.CompareInfo.Compare: 1
*/
using namespace System;
using namespace System::Collections;
using namespace System::Globalization;
int main()
{
// Creates and initializes the CultureInfo which uses the international sort.
CultureInfo^ myCIintl = gcnew CultureInfo( "es-ES",false );
// Creates and initializes the CultureInfo which uses the traditional sort.
CultureInfo^ myCItrad = gcnew CultureInfo( 0x040A,false );
// Displays the properties of each culture.
Console::WriteLine( "{0,-33}{1,-25}{2,-25}", "PROPERTY", "INTERNATIONAL", "TRADITIONAL" );
Console::WriteLine( "{0,-33}{1,-25}{2,-25}", "CompareInfo", myCIintl->CompareInfo, myCItrad->CompareInfo );
Console::WriteLine( "{0,-33}{1,-25}{2,-25}", "DisplayName", myCIintl->DisplayName, myCItrad->DisplayName );
Console::WriteLine( "{0,-33}{1,-25}{2,-25}", "EnglishName", myCIintl->EnglishName, myCItrad->EnglishName );
Console::WriteLine( "{0,-33}{1,-25}{2,-25}", "IsNeutralCulture", myCIintl->IsNeutralCulture, myCItrad->IsNeutralCulture );
Console::WriteLine( "{0,-33}{1,-25}{2,-25}", "IsReadOnly", myCIintl->IsReadOnly, myCItrad->IsReadOnly );
Console::WriteLine( "{0,-33}{1,-25}{2,-25}", "LCID", myCIintl->LCID, myCItrad->LCID );
Console::WriteLine( "{0,-33}{1,-25}{2,-25}", "Name", myCIintl->Name, myCItrad->Name );
Console::WriteLine( "{0,-33}{1,-25}{2,-25}", "NativeName", myCIintl->NativeName, myCItrad->NativeName );
Console::WriteLine( "{0,-33}{1,-25}{2,-25}", "Parent", myCIintl->Parent, myCItrad->Parent );
Console::WriteLine( "{0,-33}{1,-25}{2,-25}", "TextInfo", myCIintl->TextInfo, myCItrad->TextInfo );
Console::WriteLine( "{0,-33}{1,-25}{2,-25}", "ThreeLetterISOLanguageName", myCIintl->ThreeLetterISOLanguageName, myCItrad->ThreeLetterISOLanguageName );
Console::WriteLine( "{0,-33}{1,-25}{2,-25}", "ThreeLetterWindowsLanguageName", myCIintl->ThreeLetterWindowsLanguageName, myCItrad->ThreeLetterWindowsLanguageName );
Console::WriteLine( "{0,-33}{1,-25}{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 - 3082 CompareInfo - 1034
DisplayName Spanish (Spain) Spanish (Spain)
EnglishName Spanish (Spain) Spanish (Spain)
IsNeutralCulture False False
IsReadOnly False False
LCID 3082 1034
Name es-ES es-ES
NativeName español (España) español (España)
Parent es es
TextInfo TextInfo - 3082 TextInfo - 1034
ThreeLetterISOLanguageName spa spa
ThreeLetterWindowsLanguageName ESN ESN
TwoLetterISOLanguageName es es
Comparing "llegar" and "lugar"
With myCIintl -> CompareInfo -> Compare: -1
With myCItrad -> CompareInfo -> Compare: 1
*/
import System.* ;
import System.Collections.* ;
import System.Globalization.* ;
public class SamplesCultureInfo
{
public static void main(String[] args)
{
// 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(0x40A, false);
// Displays the properties of each culture.
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "PROPERTY",
"INTERNATIONAL", "TRADITIONAL");
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "CompareInfo",
myCIintl.get_CompareInfo(), myCItrad.get_CompareInfo());
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "DisplayName",
myCIintl.get_DisplayName(), myCItrad.get_DisplayName());
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "EnglishName",
myCIintl.get_EnglishName(), myCItrad.get_EnglishName());
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "IsNeutralCulture",
System.Convert.ToString(myCIintl.get_IsNeutralCulture()),
System.Convert.ToString(myCItrad.get_IsNeutralCulture()));
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "IsReadOnly",
System.Convert.ToString(myCIintl.get_IsReadOnly()),
System.Convert.ToString(myCItrad.get_IsReadOnly()));
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "LCID",
System.Convert.ToString(myCIintl.get_LCID()),
System.Convert.ToString(myCItrad.get_LCID()));
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "Name",
myCIintl.get_Name(), myCItrad.get_Name());
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "NativeName",
myCIintl.get_NativeName(), myCItrad.get_NativeName());
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "Parent",
myCIintl.get_Parent(), myCItrad.get_Parent());
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "TextInfo",
myCIintl.get_TextInfo(), myCItrad.get_TextInfo());
Console.WriteLine("{0,-33}{1,-25}{2,-25}",
"ThreeLetterISOLanguageName",
myCIintl.get_ThreeLetterISOLanguageName(),
myCItrad.get_ThreeLetterISOLanguageName());
Console.WriteLine("{0,-33}{1,-25}{2,-25}",
"ThreeLetterWindowsLanguageName",
myCIintl.get_ThreeLetterWindowsLanguageName(),
myCItrad.get_ThreeLetterWindowsLanguageName());
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "TwoLetterISOLanguageName",
myCIintl.get_TwoLetterISOLanguageName(),
myCItrad.get_TwoLetterISOLanguageName());
Console.WriteLine();
// Compare two strings using myCIintl.
Console.WriteLine("Comparing \"llegar\" and \"lugar\"");
Console.WriteLine(" With myCIintl.CompareInfo.Compare: {0}",
System.Convert.ToString ( myCIintl.get_CompareInfo().Compare(
"llegar", "lugar")));
Console.WriteLine(" With myCItrad.CompareInfo.Compare: {0}",
System.Convert.ToString ( myCItrad.get_CompareInfo().Compare(
"llegar", "lugar")));
} //main
} //SamplesCultureInfo
/*
This code produces the following output.
PROPERTY INTERNATIONAL TRADITIONAL
CompareInfo CompareInfo - 3082 CompareInfo - 1034
DisplayName Spanish (Spain) Spanish (Spain)
EnglishName Spanish (Spain) Spanish (Spain)
IsNeutralCulture False False
IsReadOnly False False
LCID 3082 1034
Name es-ES es-ES
NativeName espaol (Espaa) espaol (Espaa)
Parent es es
TextInfo TextInfo - 3082 TextInfo - 1034
ThreeLetterISOLanguageName spa spa
ThreeLetterWindowsLanguageName ESN ESN
TwoLetterISOLanguageName es es
Comparing "llegar" and "lugar"
With myCIintl.CompareInfo.Compare: -1
With myCItrad.CompareInfo.Compare: 1
*/
In folgendem Codebeispiel wird die übergeordnete Kultur aller spezifischen Kulturen unter Verwendung der Sprache Chinesisch bestimmt.
Imports System
Imports System.Globalization
Public Class SamplesCultureInfo
Public Shared Sub Main()
' Prints the header.
Console.WriteLine("SPECIFIC CULTURE PARENT CULTURE")
' Determines the specific cultures that use the Chinese language, and displays the parent culture.
Dim ci As CultureInfo
For Each ci In CultureInfo.GetCultures(CultureTypes.SpecificCultures)
If ci.TwoLetterISOLanguageName = "zh" Then
Console.Write("0x{0} {1} {2,-37}", ci.LCID.ToString("X4"), ci.Name, ci.EnglishName)
Console.WriteLine("0x{0} {1} {2}", ci.Parent.LCID.ToString("X4"), ci.Parent.Name, ci.Parent.EnglishName)
End If
Next ci
End Sub 'Main
End Class 'SamplesCultureInfo
'This code produces the following output.
'
'SPECIFIC CULTURE PARENT CULTURE
'0x0404 zh-TW Chinese (Taiwan) 0x7C04 zh-CHT Chinese (Traditional)
'0x0804 zh-CN Chinese (People's Republic of China) 0x0004 zh-CHS Chinese (Simplified)
'0x0C04 zh-HK Chinese (Hong Kong S.A.R.) 0x7C04 zh-CHT Chinese (Traditional)
'0x1004 zh-SG Chinese (Singapore) 0x0004 zh-CHS Chinese (Simplified)
'0x1404 zh-MO Chinese (Macau S.A.R.) 0x7C04 zh-CHT Chinese (Traditional)
'
using System;
using System.Globalization;
public class SamplesCultureInfo {
public static void Main() {
// Prints the header.
Console.WriteLine( "SPECIFIC CULTURE PARENT CULTURE" );
// Determines the specific cultures that use the Chinese language, and displays the parent culture.
foreach ( CultureInfo ci in CultureInfo.GetCultures( CultureTypes.SpecificCultures ) ) {
if ( ci.TwoLetterISOLanguageName == "zh" ) {
Console.Write( "0x{0} {1} {2,-37}", ci.LCID.ToString("X4"), ci.Name, ci.EnglishName );
Console.WriteLine( "0x{0} {1} {2}", ci.Parent.LCID.ToString("X4"), ci.Parent.Name, ci.Parent.EnglishName );
}
}
}
}
/*
This code produces the following output.
SPECIFIC CULTURE PARENT CULTURE
0x0404 zh-TW Chinese (Taiwan) 0x7C04 zh-CHT Chinese (Traditional)
0x0804 zh-CN Chinese (People's Republic of China) 0x0004 zh-CHS Chinese (Simplified)
0x0C04 zh-HK Chinese (Hong Kong S.A.R.) 0x7C04 zh-CHT Chinese (Traditional)
0x1004 zh-SG Chinese (Singapore) 0x0004 zh-CHS Chinese (Simplified)
0x1404 zh-MO Chinese (Macau S.A.R.) 0x7C04 zh-CHT Chinese (Traditional)
*/
using namespace System;
using namespace System::Globalization;
int main()
{
// Prints the header.
Console::WriteLine( "SPECIFIC CULTURE PARENT CULTURE" );
// Determines the specific cultures that use the Chinese language,
// and displays the parent culture.
System::Collections::IEnumerator^ en = CultureInfo::GetCultures( CultureTypes::SpecificCultures )->GetEnumerator();
while ( en->MoveNext() )
{
CultureInfo^ ci = safe_cast<CultureInfo^>(en->Current);
if ( ci->TwoLetterISOLanguageName->Equals( "zh" ) )
{
Console::Write( "0x{0} {1} {2,-37}", ci->LCID.ToString( "X4" ), ci->Name, ci->EnglishName );
Console::WriteLine( "0x{0} {1} {2}", ci->Parent->LCID.ToString( "X4" ), ci->Parent->Name, ci->Parent->EnglishName );
}
}
}
/*
This code produces the following output.
SPECIFIC CULTURE PARENT CULTURE
0x0404 zh-TW Chinese (Taiwan) 0x7C04 zh-CHT Chinese (Traditional)
0x0804 zh-CN Chinese (People's Republic of China) 0x0004 zh-CHS Chinese (Simplified)
0x0C04 zh-HK Chinese (Hong Kong S.A.R.) 0x7C04 zh-CHT Chinese (Traditional)
0x1004 zh-SG Chinese (Singapore) 0x0004 zh-CHS Chinese (Simplified)
0x1404 zh-MO Chinese (Macao S.A.R.) 0x0004 zh-CHS Chinese (Simplified)
*/
import System.* ;
import System.Globalization.* ;
public class SamplesCultureInfo
{
public static void main(String[] args)
{
// Prints the header.
Console.WriteLine("SPECIFIC CULTURE "
+ " PARENT CULTURE");
// Determines the specific cultures that use the Chinese language,
// and displays the parent culture.
for(int iCtr=0;
iCtr < (CultureInfo.GetCultures(CultureTypes.SpecificCultures).
length); iCtr++) {
CultureInfo ci =
CultureInfo.GetCultures(CultureTypes.SpecificCultures)[iCtr];
if (ci.get_TwoLetterISOLanguageName().equalsIgnoreCase("zh")) {
Console.Write("0x{0} {1} {2,-37}",
((System.Int32 ) ci.get_LCID()).ToString("X4") ,
ci.get_Name(), ci.get_EnglishName());
Console.WriteLine("0x{0} {1} {2}",
((System.Int32 )ci.get_Parent().get_LCID()).ToString("X4"),
ci.get_Parent().get_Name(),
ci.get_Parent().get_EnglishName());
}
}
} //main
} //SamplesCultureInfo
/*
This code produces the following output.
SPECIFIC CULTURE PARENT CULTURE
0x0404 zh-TW Chinese (Taiwan) 0x7C04 zh-CHT Chinese
(Traditional)
0x0804 zh-CN Chinese (People's Republic of China) 0x0004 zh-CHS Chinese
(Simplified)
0x0C04 zh-HK Chinese (Hong Kong S.A.R.) 0x7C04 zh-CHT Chinese
(Traditional)
0x1004 zh-SG Chinese (Singapore) 0x0004 zh-CHS Chinese
(Simplified)
0x1404 zh-MO Chinese (Macau S.A.R.) 0x0004 zh-CHS Chinese
(Simplified)
*/
Vererbungshierarchie
System.Object
System.Globalization.CultureInfo
Threadsicherheit
Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0
Siehe auch
Referenz
CultureInfo-Member
System.Globalization-Namespace
RegionInfo