CultureInfo Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Információt nyújt egy adott kultúráról (a nem felügyelt kódfejlesztés területi beállításairól). Az információk közé tartozik a kultúra neve, az írási rendszer, a használt naptár, a sztringek sorrendje, valamint a dátumok és számok formázása.
public ref class CultureInfo : IFormatProvider
public ref class CultureInfo : ICloneable, IFormatProvider
public class CultureInfo : IFormatProvider
public class CultureInfo : ICloneable, IFormatProvider
[System.Serializable]
public class CultureInfo : ICloneable, IFormatProvider
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class CultureInfo : ICloneable, IFormatProvider
type CultureInfo = class
interface IFormatProvider
type CultureInfo = class
interface ICloneable
interface IFormatProvider
[<System.Serializable>]
type CultureInfo = class
interface ICloneable
interface IFormatProvider
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type CultureInfo = class
interface ICloneable
interface IFormatProvider
Public Class CultureInfo
Implements IFormatProvider
Public Class CultureInfo
Implements ICloneable, IFormatProvider
- Öröklődés
-
CultureInfo
- Attribútumok
- Megvalósítás
Megjegyzések
Az CultureInfo osztály egy adott kultúrához, például nyelvhez, alnyelvhez, országhoz/régióhoz, naptárhoz és konvenciókhoz kapcsolódó információkat biztosít. Ez az osztály hozzáférést biztosít a DateTimeFormatInfo, NumberFormatInfo, , CompareInfoés TextInfo objektumok kultúraspecifikus példányaihoz is. Ezek az objektumok tartalmazzák a kultúraspecifikus műveletekhez szükséges információkat, például a burkolatot, a dátumok és számok formázását, valamint a sztringek összehasonlítását. Az CultureInfo osztályt közvetlenül vagy közvetve olyan osztályok használják, amelyek kultúraspecifikus adatokat, például String, DateTime, DateTimeOffsetés numerikus típusokat formáznak, elemeznek vagy módosítanak.
Kulturális nevek és azonosítók
Az CultureInfo osztály az RFC 4646 alapján egyedi nevet ad meg minden kultúrához. A név egy nyelvhez társított ISO 639 kétbetűs vagy hárombetűs kisbetűs kulturális kód és egy országhoz vagy régióhoz társított ISO 3166 kétbetűs nagybetűs szubkultúrakód kombinációja. Emellett a Windows 10 vagy újabb verzióban futó alkalmazások esetében az érvényes BCP-47 nyelvi címkéknek megfelelő kulturális nevek támogatottak.
Note
Ha egy kulturális nevet átad egy osztálykonstruktornak vagy egy olyan metódusnak, mint CreateSpecificCulture a vagy CultureInfo, az esete nem jelentős.
Az RFC 4646-on alapuló kulturális név formátuma languagecode2-country/regioncode2a languagecode2 kétbetűs nyelvi kód és country/regioncode2 a kétbetűs szubkultúrakód. Ilyenek például ja-JP a japán (Japán) és en-US az angol (Egyesült Államok). Ha nem érhető el kétbetűs nyelvi kód, a rendszer az ISO 639-3 szabványban meghatározott hárombetűs kódot használja.
Egyes kulturális nevek iso 15924-szkriptet is meghatároznak. A Cyrl például a cirill, a Latn pedig a latin szkriptet adja meg. A szkriptet tartalmazó kulturális név a languagecode2-scripttag-country/regioncode2 mintát követi. Ilyen típusú kultúranév uz-Cyrl-UZ például Üzbég (cirill, Üzbegisztán). A Windows Vista előtti Windows operációs rendszereken egy szkriptet tartalmazó kultúranév például Üzbég (cirill, Üzbegisztán) mintát languagecode2-country/regioncode2-scripttaguz-UZ-Cyrlhasznál.
A semleges kultúrát csak a kétbetűs, kisbetűs nyelvi kód határozza meg. Megadja például fr a francia semleges kultúrát, és de megadja a német semleges kultúrát.
Note
Két kultúranév ellentmond ennek a szabálynak. A kínai (egyszerűsített) zh-Hansés a kínai (hagyományos) nevű zh-Hantkultúrák semleges kultúrák. A kulturális nevek az aktuális szabványnak felelnek meg, és a régebbi nevek zh-CHS és zh-CHT csak akkor használhatók, ha van rájuk ok.
A kulturális azonosító egy szabványos nemzetközi numerikus rövidítés, amely az egyik telepített kultúra egyedi azonosításához szükséges összetevőkkel rendelkezik. Az alkalmazás használhat előre definiált kulturális azonosítókat, vagy definiálhat egyéni azonosítókat.
Ez és a névtér más osztályai System.Globalization bizonyos előre definiált kulturális neveket és azonosítókat használnak. A Windows-rendszerekre vonatkozó részletes kulturális információkért tekintse meg a Nyelv címke oszlopot a Windows által támogatott nyelv/régiónevek listájában. A kulturális nevek a BCP 47 által meghatározott szabványt követik.
A kultúranevek és -azonosítók csak a kultúrák egy részhalmazát jelölik, amelyek egy adott számítógépen találhatók. A Windows-verziók vagy szervizcsomagok megváltoztathatják a rendelkezésre álló kultúrákat. A CultureAndRegionInfoBuilder osztály használatával az alkalmazások egyéni kultúrákat adhatnak hozzá. A felhasználók saját egyéni kultúrákat adhatnak hozzá a Microsoft Locale Builder eszközzel. A Microsoft Locale Builder felügyelt kódban van megírva az CultureAndRegionInfoBuilder osztály használatával.
Számos különböző név szorosan kapcsolódik egy kultúrához, különösen a következő osztálytagokhoz társított nevek:
Invariáns, semleges és specifikus kultúrák
A kultúrák általában három csoportba vannak csoportosítva: invariáns kultúrák, semleges kultúrák és meghatározott kultúrák.
Az invariáns kultúra kultúrafüggetlen. Az alkalmazás az invariáns kultúrát neve szerint egy üres karakterlánccal ("") vagy annak azonosítójával adja meg.
InvariantCulture az invariáns kultúra egy példányát határozza meg. Az angol nyelvhez van társítva, de egyetlen országhoz/régióhoz sem. A Globalization névtérben szinte minden olyan metódusban használják, amely kultúrát igényel.
A semleges kultúra olyan kultúra, amely egy nyelvhez van társítva, de nem egy országhoz/régióhoz. Egy adott kultúra egy nyelvhez és egy országhoz/régióhoz társított kultúra. Például fr a francia kultúra semleges neve, és fr-FR az adott francia (Franciaország) kultúra neve. Vegye figyelembe, hogy a kínai (egyszerűsített) és a kínai (hagyományos) szintén semleges kultúráknak tekinthetők.
A semleges kultúra osztálypéldányának CompareInfo létrehozása nem ajánlott, mert a benne lévő adatok tetszőlegesek. Az adatok megjelenítéséhez és rendezéséhez adja meg a nyelvet és a régiót is. Emellett egy NameCompareInfo semleges kultúrához létrehozott objektum tulajdonsága csak az országot adja vissza, és nem tartalmazza a régiót.
A definiált kultúrák olyan hierarchiával rendelkeznek, amelyben egy adott kultúra szülője semleges kultúra, a semleges kultúra szülője pedig az invariáns kultúra. A Parent tulajdonság egy adott kultúrához társított semleges kultúrát tartalmazza. Az egyéni kultúráknak ennek a mintának megfelelően kell meghatározniuk a Parent tulajdonságot.
Ha egy adott kultúrához tartozó erőforrások nem érhetők el az operációs rendszerben, a rendszer a társított semleges kultúra erőforrásait használja. Ha a semleges kultúra erőforrásai nem érhetők el, a rendszer a főszerelvénybe ágyazott erőforrásokat használja. Az erőforrás-visszavételi folyamatról további információt az Erőforrások csomagolása és üzembe helyezése című témakörben talál.
A Windows API területi beállításainak listája kissé eltér a .NET által támogatott kultúrák listájától. Ha például a p/invoke mechanizmuson keresztül szükség van a Windowssal való együttműködésre, az alkalmazásnak egy adott, az operációs rendszerhez meghatározott kultúrát kell használnia. Az adott kultúra használata biztosítja a konzisztenciát a Windows helyi beállításával, amely azonosítva van egy területi azonosítóval, ami megegyezik a LCID értékkel.
Az A DateTimeFormatInfo vagy a NumberFormatInfo csak az invariáns kultúrához vagy adott kultúrákhoz hozható létre, semleges kultúrákhoz nem.
Ha DateTimeFormatInfo.Calendar az TaiwanCalendar, de Thread.CurrentCulture nincs zh-TW-ra/-re állítva, akkor DateTimeFormatInfo.NativeCalendarName, DateTimeFormatInfo.GetEraName, és DateTimeFormatInfo.GetAbbreviatedEraName egy üres sztringet ("") ad vissza.
Egyéni kultúrák
Windows rendszeren egyéni területi beállításokat hozhat létre. További információ: Egyéni területi beállítások.
CultureInfo és kulturális adatok
.NET a kulturális adatokat az operációs rendszertől függően két különböző forrásból származtatja:
- Unix-platformokon vagy Windows 10 és újabb verziókban a kulturális adatokat a International Components for Unicode (ICU) Library biztosítja. Az ICU-kódtár adott verziója az egyes operációs rendszerektől függ.
- A Windows 8.1 és a korábbi verziókban a kulturális adatokat az Windows operációs rendszer biztosítja.
Emiatt előfordulhat, hogy egy adott .NET-implementáción, platformon vagy verzión elérhető kultúra nem érhető el egy másik .NET-implementáción, platformon vagy verzión.
Egyes CultureInfo objektumok a mögöttes platformtól függően eltérőek. Windows rendszereken például zh-CN a kínai (egyszerűsített, Kína) és zh-TW a kínai (hagyományos, Tajvan) kultúrák érhetők el, de Unix rendszereken aliasolt kultúrák. A "zh-CN" a "zh-Hans-CN" kultúra aliasa, a "zh-TW" pedig a "zh-Hant-TW" kultúra aliasa. A GetCultures metódus hívásai nem adják vissza az aliasált kultúrákat, és ezek eltérő tulajdonságértékekkel, illetve különböző Parent kultúrákkal is rendelkezhetnek, mint Windows-megfelelőik. A zh-CN kultúra és a zh-TW kultúra tekintetében a különbségek a következők:
Windows rendszereken a "zh-CN" kultúra szülőkultúrája a "zh-Hans", a "zh-TW" kultúra szülőkultúrája pedig a "zh-Hant". Mindkét kultúra szülőkultúrája a "zh". Unix rendszerekben mindkét kultúra szülője a "zh". Ez azt jelenti, hogy ha nem biztosít kulturális erőforrásokat a "zh-CN" vagy a "zh-TW" kultúrához, de a semleges "zh-Hans" vagy a "zh-Hant" kultúrához biztosít erőforrásokat, az alkalmazás a semleges kultúra erőforrásait a Windowsra tölti be, a Unixra nem. Unix-rendszereken a szálat CurrentUICulture explicit módon "zh-Hans" vagy "zh-Hant" értékre kell állítania.
Windows rendszereken, ha egy olyan példányra hivatkozunk (meghívva azt) CultureInfo.Equals, amely a "zh-CN" kultúrát képviseli, majd átadunk neki egy "zh-Hans-CN" példányt,
trueértéket kapunk vissza. Unix rendszereken a metódushívás ad visszafalse. Ez a viselkedés a "zh-TW" Equals példány meghívására CultureInfo és egy "zh-Hant-Tw" példány átadására is vonatkozik.
Dinamikus kulturális adatok
Az invariáns kultúra kivételével a kulturális adatok dinamikusak. Ez még az előre meghatározott kultúrákra is igaz. Az országok vagy régiók például új pénznemeket vezetnek be, módosítják a szavak helyesírását, vagy módosítják az előnyben részesített naptárukat, a kulturális definíciók pedig ennek nyomon követésére változnak. Az egyéni kultúrák értesítés nélkül változhatnak, és bármely adott kultúrát felülírhat egy egyéni cserekultúra. Az alábbiakban ismertetett módon az egyes felhasználók felülbírálhatják a kulturális beállításokat. Az alkalmazásoknak mindig futásidőben kell beszerezniük a kulturális adatokat.
Caution
Az adatok mentésekor az alkalmazásnak az invariáns kultúrát, a bináris formátumot vagy egy adott kultúrafüggetlen formátumot kell használnia. Az adott kultúrához társított aktuális értékek szerint mentett adatok – az invariáns kultúra kivételével – olvashatatlanná válhatnak, vagy a kultúra megváltozása esetén jelentésük megváltozhat.
A jelenlegi kultúra és a jelenlegi felhasználói felületi kultúra
A .NET-alkalmazások minden szála rendelkezik egy aktuális kultúrával és egy aktuális felhasználói felületi kultúrával. Az aktuális kultúra határozza meg a dátumok, időpontok, számok és pénznemértékek formázási konvencióit, a szöveg rendezési sorrendjét, az írásmódi konvenciókat és a karakterláncok összehasonlításának módját. A jelenlegi felhasználói felületi kultúra a futtatókörnyezetben a kultúraspecifikus erőforrások lekérésére szolgál.
Note
Az aktuális és az aktuális felhasználói felületi kultúra szálonkénti meghatározásáról a Kultúra és a szálak című szakaszban talál további információt. A feladatalapú aszinkron műveleteket végrehajtó szálak aktuális és aktuális felhasználói felületi kultúrájának meghatározásáról a Kultúra és a tevékenységalapú aszinkron műveletek szakasz nyújt tájékoztatást.
Az aktuális kultúrával kapcsolatos részletesebb információkért tekintse meg a tulajdonságot CultureInfo.CurrentCulture . Az aktuális felhasználói felületi kultúrával kapcsolatos részletesebb információkért tekintse meg a tulajdonság témakörét CultureInfo.CurrentUICulture .
Az aktuális és a jelenlegi felhasználói felületi kultúrák lekérése
Az aktuális kultúrát CultureInfo jelképező objektumot kétféleképpen kaphatja meg:
- A CultureInfo.CurrentCulture tulajdonság értékének beolvasásával.
- A Thread.CurrentThread.CurrentCulture tulajdonság értékének beolvasásával.
Az alábbi példa mindkét tulajdonságértéket lekéri, összehasonlítja őket, és megjeleníti az aktuális kultúra nevét.
using System;
using System.Globalization;
using System.Threading;
public class CurrentCultureEx
{
public static void Main()
{
CultureInfo culture1 = CultureInfo.CurrentCulture;
CultureInfo culture2 = Thread.CurrentThread.CurrentCulture;
Console.WriteLine($"The current culture is {culture1.Name}");
Console.WriteLine($"The two CultureInfo objects are equal: {culture1 == culture2}");
}
}
// The example displays output like the following:
// The current culture is en-US
// The two CultureInfo objects are equal: True
Az aktuális felhasználói felületi kultúrát képviselő objektumot kétféleképpen kaphatja meg CultureInfo :
A CultureInfo.CurrentUICulture tulajdonság értékének beolvasásával.
A Thread.CurrentThread.CurrentUICulture tulajdonság értékének beolvasásával.
Az alábbi példa mindkét tulajdonságértéket lekéri, összehasonlítja őket, és megjeleníti az aktuális felhasználói felületi kultúra nevét.
using System;
using System.Globalization;
using System.Threading;
public class CurrentUIEx
{
public static void Main()
{
CultureInfo uiCulture1 = CultureInfo.CurrentUICulture;
CultureInfo uiCulture2 = Thread.CurrentThread.CurrentUICulture;
Console.WriteLine($"The current UI culture is {uiCulture1.Name}");
Console.WriteLine($"The two CultureInfo objects are equal: {uiCulture1 == uiCulture2}");
}
}
// The example displays output like the following:
// The current UI culture is en-US
// The two CultureInfo objects are equal: True
Az aktuális és a jelenlegi felhasználói felületi kultúrák beállítása
Egy szál kulturális és felhasználói felületi kultúrájának módosításához tegye a következőket:
Hozzon létre egy CultureInfo objektumot, amely a kultúrát jelképezi, azzal, hogy meghív egy CultureInfo osztálykonstruktor és átadja neki a kultúra nevét. A CultureInfo(String) konstruktor létrehoz egy CultureInfo objektumot, amely tükrözi a felhasználói felülbírálásokat, ha az új kultúra megegyezik a jelenlegi Windows-kultúrával. A CultureInfo(String, Boolean) konstruktor lehetővé teszi annak megadását, hogy az újonnan példányosított CultureInfo objektum tükrözi-e a felhasználói felülbírálásokat, ha az új kultúra megegyezik az aktuális Windows-kultúrával.
Rendelje hozzá az CultureInfo objektumot a vagy CultureInfo.CurrentUICulture a CultureInfo.CurrentCulture tulajdonsághoz.
Az alábbi példa lekérdezi az aktuális kultúrát. Ha bármi másról van szó, mint a francia (Franciaország) kultúráról, akkor a jelenlegi kultúrát francia (Franciaország) kultúrára változtatja. Ellenkező esetben a jelenlegi kultúrát francia (Luxemburg) nyelvre módosítja.
using System;
using System.Globalization;
public class ChangeEx1
{
public static void Main()
{
CultureInfo current = CultureInfo.CurrentCulture;
Console.WriteLine("The current culture is {0}", current.Name);
CultureInfo newCulture;
if (current.Name.Equals("fr-FR"))
newCulture = new CultureInfo("fr-LU");
else
newCulture = new CultureInfo("fr-FR");
CultureInfo.CurrentCulture = newCulture;
Console.WriteLine("The current culture is now {0}",
CultureInfo.CurrentCulture.Name);
}
}
// The example displays output like the following:
// The current culture is en-US
// The current culture is now fr-FR
Az alábbi példa lekérdezi az aktuális kultúrát. Ha bármi másról van szó, mint a szlovén (Szlovénia) kultúráról, akkor a jelenlegi kultúrát szlovénre (Szlovéniára) változtatja. Ellenkező esetben a jelenlegi kultúrát horvát (Horvátország) nyelvre módosítja.
using System;
using System.Globalization;
public class ChangeUICultureEx
{
public static void Main()
{
CultureInfo current = CultureInfo.CurrentUICulture;
Console.WriteLine($"The current UI culture is {current.Name}");
CultureInfo newUICulture;
if (current.Name.Equals("sl-SI"))
newUICulture = new CultureInfo("hr-HR");
else
newUICulture = new CultureInfo("sl-SI");
CultureInfo.CurrentUICulture = newUICulture;
Console.WriteLine($"The current UI culture is now {CultureInfo.CurrentUICulture.Name}");
}
}
// The example displays output like the following:
// The current UI culture is en-US
// The current UI culture is now sl-SI
Az összes kultúra lekérése
A GetCultures metódus meghívásával lekérheti a konkrét kultúrakategóriák vagy az összes, a helyi számítógépen elérhető kultúra tömbjét. Lekérheti például az egyéni kultúrákat, az egyes kultúrákat vagy a semleges kultúrákat önállóan vagy kombinálva.
Az alábbi példa kétszer hívja meg a GetCultures metódust, először az System.Globalization.CultureTypes enumerálási taggal az összes egyéni kultúra lekéréséhez, majd az System.Globalization.CultureTypes enumerálási taggal az összes helyettesítő kultúra lekéréséhez.
using System;
using System.Globalization;
public class GetCulturesEx
{
public static void Main()
{
// Get all custom cultures.
CultureInfo[] custom = CultureInfo.GetCultures(CultureTypes.UserCustomCulture);
if (custom.Length == 0)
{
Console.WriteLine("There are no user-defined custom cultures.");
}
else
{
Console.WriteLine("Custom cultures:");
foreach (var culture in custom)
Console.WriteLine($" {culture.Name} -- {culture.DisplayName}");
}
Console.WriteLine();
// Get all replacement cultures.
CultureInfo[] replacements = CultureInfo.GetCultures(CultureTypes.ReplacementCultures);
if (replacements.Length == 0)
{
Console.WriteLine("There are no replacement cultures.");
}
else
{
Console.WriteLine("Replacement cultures:");
foreach (var culture in replacements)
Console.WriteLine($" {culture.Name} -- {culture.DisplayName}");
}
Console.WriteLine();
}
}
// The example displays output like the following:
// Custom cultures:
// x-en-US-sample -- English (United States)
// fj-FJ -- Boumaa Fijian (Viti)
//
// There are no replacement cultures.
Kultúra és szálak
Az új alkalmazásszál indításakor a jelenlegi és a jelenlegi felhasználói felületi kultúrát a jelenlegi rendszerkultúra határozza meg, nem pedig az aktuális szálkultúra. Az alábbi példa a különbséget szemlélteti. Az alkalmazásszál aktuális kultúráját és felhasználói felületi kultúráját a francia (Franciaország) kultúrára (fr-FR) állítja be. Ha a jelenlegi kultúra beállítása már fr-FR, a példában az angol (Egyesült Államok) kultúrára (en-US) állítja be. Három véletlenszerű számot jelenít meg pénznemértékként, majd létrehoz egy új szálat, amely további három véletlenszerű számot jelenít meg pénznemértékként. Ahogy azonban a példában látható, az új szál által megjelenített pénznemértékek nem tükrözik a francia (Franciaország) kultúra formázási konvencióit, ellentétben a fő alkalmazásszál kimenetével.
using System;
using System.Globalization;
using System.Threading;
public class DefaultThreadEx
{
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: '{Thread.CurrentThread.Name}'");
Console.WriteLine($"Current Thread Culture/UI Culture: {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($" {rnd.NextDouble() * 10:C2}");
}
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
Az alkalmazástartomány összes szálának kulturális és felhasználói felületi kultúráját úgy állíthatja be, hogy hozzárendel egy CultureInfo objektumot, amely az adott kultúrát DefaultThreadCurrentCultureDefaultThreadCurrentUICulture és tulajdonságokat jelöli. Az alábbi példa ezeket a tulajdonságokat használja annak biztosítására, hogy az alapértelmezett alkalmazástartomány összes szála azonos kultúrával rendelkezzen.
using System;
using System.Globalization;
using System.Threading;
public class SetThreadsEx
{
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(SetThreadsEx.ThreadProc);
worker.Name = "WorkerThread";
worker.Start();
}
private static void DisplayThreadInfo()
{
Console.WriteLine($"\nCurrent Thread Name: '{Thread.CurrentThread.Name}'");
Console.WriteLine($"Current Thread Culture/UI Culture: {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($" {rnd.NextDouble() * 10:C2}");
}
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 €
Amikor értékeket rendel a DefaultThreadCurrentCulture és DefaultThreadCurrentUICulture tulajdonságokhoz, az alkalmazáskörnyezet szálainak kultúrája és felhasználói felületi kultúrája is megváltozik, amennyiben még nem lett számukra kifejezetten kultúra hozzárendelve. Ezek a szálak azonban csak akkor tükrözik az új kulturális beállításokat, amikor az aktuális alkalmazástartományban futnak. Ha ezek a szálak egy másik alkalmazástartományban futnak, a kultúrájuk lesz az adott alkalmazástartományhoz definiált alapértelmezett kultúra. Ennek eredményeképpen azt javasoljuk, hogy mindig állítsa be a fő alkalmazásszál kultúráját, és ne támaszkodjon a tulajdonságokra a DefaultThreadCurrentCultureDefaultThreadCurrentUICulture módosításhoz.
Kultúra és feladatalapú aszinkron műveletek
A feladatalapú aszinkron programozási mintaTask és Task<TResult> objektumok használatával aszinkron módon hajtja végre a delegátumokat a szálkészlet szálakon. Az a szál, amelyen egy adott tevékenység fut, előre nem ismert, de csak futásidőben van meghatározva.
A kultúra egy aszinkron művelet kontextusának része. Más szóval az aszinkron műveletek alapértelmezés szerint öröklik annak a szálnak az CurrentCulture értékeit és CurrentUICulture tulajdonságait, amelyből elindulnak. Ha a jelenlegi kultúra vagy a jelenlegi felhasználói felület kultúrája eltér a rendszerkultúrától, a jelenlegi kultúra átlépi a szálhatárokat, és az aszinkron műveletet végrehajtó szálkészlet-szál jelenlegi kultúrájává válik.
Az alábbi példa egy egyszerű ábrát mutat be. A példa egy delegáltat Func<TResult> határoz meg, formatDelegateamely pénznemértékként formázott számokat ad vissza. A példa a jelenlegi rendszerkultúrát franciára (Franciaországra) módosítja, vagy ha a jelenlegi rendszerkultúra már francia (Franciaország), akkor angolra (Egyesült Államokra). Ezután:
- Közvetlenül meghívja a meghatalmazottat, hogy szinkron módon fusson a fő alkalmazásszálon.
- Létrehoz egy feladatot, amely aszinkron módon hajtja végre a delegáltat egy szálkészlet szálán.
- Létrehoz egy feladatot, amely szinkron módon hajtja végre a delegáltat a fő alkalmazásszálon a Task.RunSynchronously metódus meghívásával.
Ahogy a példa kimenete is mutatja, amikor a jelenlegi kultúrát francia (Franciaország) nyelvre módosítják, az a szál aktuális kultúrája, amelyből az aszinkron műveletek elindulnak, az adott aszinkron művelet aktuális kultúrája lesz.
using System;
using System.Globalization;
using System.Threading;
using System.Threading.Tasks;
public class AsyncCultureEx1
{
public static void Main()
{
decimal[] values = { 163025412.32m, 18905365.59m };
string formatString = "C2";
string FormatDelegate()
{
string output = $"Formatting using the {CultureInfo.CurrentCulture.Name} " +
$"culture on thread {Thread.CurrentThread.ManagedThreadId}.\n";
foreach (decimal value in values)
output += $"{value.ToString(formatString)} ";
output += Environment.NewLine;
return output;
}
Console.WriteLine($"The example is running on thread {Thread.CurrentThread.ManagedThreadId}");
// Make the current culture different from the system culture.
Console.WriteLine($"The current culture is {CultureInfo.CurrentCulture.Name}");
if (CultureInfo.CurrentCulture.Name == "fr-FR")
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
else
Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-FR");
Console.WriteLine($"Changed the current culture to {CultureInfo.CurrentCulture.Name}.\n");
// Execute the delegate synchronously.
Console.WriteLine("Executing the delegate synchronously:");
Console.WriteLine(FormatDelegate());
// Call an async delegate to format the values using one format string.
Console.WriteLine("Executing a task asynchronously:");
var t1 = Task.Run(FormatDelegate);
Console.WriteLine(t1.Result);
Console.WriteLine("Executing a task synchronously:");
var t2 = new Task<string>(FormatDelegate);
t2.RunSynchronously();
Console.WriteLine(t2.Result);
}
}
// The example displays the following output:
// The example is running on thread 1
// The current culture is en-US
// Changed the current culture to fr-FR.
//
// Executing the delegate synchronously:
// Formatting using the fr-FR culture on thread 1.
// 163 025 412,32 € 18 905 365,59 €
//
// Executing a task asynchronously:
// Formatting using the fr-FR culture on thread 3.
// 163 025 412,32 € 18 905 365,59 €
//
// Executing a task synchronously:
// Formatting using the fr-FR culture on thread 1.
// 163 025 412,32 € 18 905 365,59 €
CultureInfo objektum szerializálása
Amikor egy CultureInfo objektum szerializálva van, valójában csak a Name és UseUserOverride kerül tárolásra. Csak olyan környezetben sikeresen deszerializálódik, ahol a Name ugyanazt a jelentést hordozza. Az alábbi három példa azt mutatja be, hogy miért nem mindig ez a helyzet:
Ha a tulajdonság értéke CultureTypes, és ha ezt a CultureTypes.InstalledWin32Cultures kultúrát először a Windows operációs rendszer egy adott verziójában vezették be, akkor nem lehet deszerializálni azt a Windows egy korábbi verziójában. Ha például a Windows 10-ben bevezettek egy kultúrát, az nem deszerializálható Windows 8 rendszeren.
Ha az CultureTypes érték CultureTypes.UserCustomCulture, és azon a számítógépen, amelyen deszerializálják, nincs telepítve az adott felhasználói egyéni kultúra, akkor nem lehet deszerializálni.
Ha az CultureTypes érték CultureTypes.ReplacementCultures, és az a számítógép, amelyen deszerializálják, nem rendelkezik ezzel a cserekultúrával, az ugyanahhoz a névhez deszerializálódik, de nem minden azonos tulajdonsághoz. Ha például
en-USegy helyettesítő kultúra az A számítógépen, de a B számítógépen nem, és ha az CultureInfo erre a kultúrára hivatkozó objektum szerializálva van az A számítógépen, és deszerializálva van a B számítógépen, akkor a kultúra egyik egyéni tulajdonsága sem lesz továbbítva. A kultúra sikeresen deszerializálódik, de eltérő jelentéssel.
Vezérlőpult felülírások
A felhasználó dönthet úgy, hogy felülbírálja a Windows jelenlegi kultúrájához társított értékek egy részét a Vezérlőpult területi és nyelvi beállításaival. A felhasználó például dönthet úgy, hogy a dátumot más formátumban jeleníti meg, vagy a kultúra alapértelmezett pénznemétől eltérő pénznemet használ. Az alkalmazásoknak általában tiszteletben kell tartaniuk ezeket a felhasználói felülbírálásokat.
Ha a UseUserOverridetrue, és a megadott kultúra megegyezik a Windows aktuális kultúrájával, akkor a rendszer a CultureInfo felülírásokat használja, beleértve a DateTimeFormatInfo tulajdonság által visszaadott példány felhasználói beállításait, és a DateTimeFormat tulajdonság által visszaadott példány tulajdonságait. Ha a felhasználói beállítások nem kompatibilisek az adott naptárhoz társított kultúrával CultureInfo, például ha a kijelölt naptár nem az egyik OptionalCalendars, a metódusok eredményei és a tulajdonságok értékei nem lesznek meghatározva.
Alternatív rendezési sorrendek
Egyes kultúrák több rendezési sorrendet is támogatnak. Például:
- A spanyol (Spanyolország) kultúrának két rendezési sorrendje van: az alapértelmezett nemzetközi rendezési sorrend és a hagyományos rendezési sorrend. Ha a CultureInfo kulturális névvel rendelkező
es-ESobjektumot példányosít, a rendszer a nemzetközi rendezési sorrendet használja. Amikor egy CultureInfo objektumot aes-ES-tradnlkulturális névvel hoz létre, a rendszer a hagyományos rendezési sorrendet használja. - A
zh-CN(kínai (egyszerűsített, KNK)) kultúra egy kétféle rendezési sorrendet támogat: kiejtés alapján (alapértelmezett) és vonások száma szerint. Amikor létrehoz egy CultureInfo objektumot azh-CNkultúra nevével, a rendszer az alapértelmezett rendezési sorrendet használja. Amikor példányosít egy CultureInfo objektumot 0x00020804 helyi azonosítójával, a sztringeket a karakterek számának megfelelően rendezi a rendszer.
Az alábbi táblázat az alternatív rendezési rendeléseket támogató kultúrákat, valamint az alapértelmezett és alternatív rendezési rendelések azonosítóit sorolja fel.
| Kultúra neve | Culture | Alapértelmezett rendezési név és azonosító | Alternatív rendezési név és azonosító |
|---|---|---|---|
| es-ES | Spanyol (Spanyolország) | Nemzetközi: 0x00000C0A | Hagyományos: 0x0000040A |
| zh-TW | Kínai (Tajvan) | Vonásszám: 0x00000404 | Bopomofo: 0x00030404 |
| zh-CN | Kínai (KNK) | Kiejtés: 0x00000804 | Vonások száma: 0x00020804 |
| zh-HK | Kínai (Hongkong KKT) | Vonásszám: 0x00000c04 | Körvonalak száma: 0x00020c04 |
| zh-SG | Kínai (Szingapúr) | Kiejtés: 0x00001004 | Ütésszám: 0x00021004 |
| zh-MO | Kínai (Macao SAR) | Kiejtés: 0x00001404 | Vonások száma: 0x00021404 |
| ja-JP | japán nyelv (Japán) | Alapértelmezett: 0x00000411 | Unicode: 0x00010411 |
| ko-KR | Koreai nyelv (Korea) | Alapértelmezett: 0x00000412 | Koreai Xwansung – Unicode: 0x00010412 |
| de-DE | Német (Németország) | Szótár: 0x00000407 | Telefonkönyv rendezés DIN: 0x00010407 |
| hu-HU | Magyar nyelv (Magyarország) | Alapértelmezett: 0x0000040e | Technikai rendezés: 0x0001040e |
| ka-GE | grúz nyelv (Grúzia) | Hagyományos: 0x00000437 | Modern rendezés: 0x00010437 |
Example
Az alábbi példa bemutatja, hogyan hozhat létre CultureInfo objektumot spanyol (Spanyolország) számára a nemzetközi rendezéssel és egy másik CultureInfo , hagyományos rendezéssel rendelkező objektummal.
using System;
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
*/
Imports System.Collections
Imports System.Globalization
Module Module1
Public 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,-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"))
End Sub
'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
End Module
Konstruktorok
| Name | Description |
|---|---|
| CultureInfo(Int32, Boolean) |
Inicializálja a CultureInfo osztály új példányát a kulturális azonosító által megadott kultúra és egy olyan érték alapján, amely meghatározza, hogy a felhasználó által kiválasztott kulturális beállításokat használja-e Windows. |
| CultureInfo(Int32) |
Inicializálja az osztály új példányát a CultureInfo kulturális azonosító által megadott kultúra alapján. |
| CultureInfo(String, Boolean) |
Inicializálja a CultureInfo osztály új példányát a név által megadott kultúra és egy olyan érték alapján, amely meghatározza, hogy a felhasználó által kiválasztott kulturális beállításokat használja-e a Windows. |
| CultureInfo(String) |
Inicializálja az osztály új példányát a CultureInfo név által megadott kultúra alapján. |
Tulajdonságok
| Name | Description |
|---|---|
| Calendar |
Lekéri a kultúra által használt alapértelmezett naptárt. |
| CompareInfo |
Lekéri azokat a CompareInfo elemet, amelyek meghatározzák, hogyan hasonlíthatók össze a kulturális környezet sztringjei. |
| CultureTypes |
Lekéri az aktuális CultureInfo objektumhoz tartozó kulturális típusokat. |
| CurrentCulture |
Lekéri vagy beállítja az CultureInfo aktuális szál és a tevékenységalapú aszinkron műveletek által használt kultúrát képviselő objektumot. |
| CurrentUICulture |
Lekéri vagy beállítja azt a CultureInfo objektumot, amely a Resource Manager által használt aktuális felhasználói felületi kultúrát jelöli, hogy futásidőben kultúrkultúra-specifikus erőforrásokat keressen. |
| DateTimeFormat |
Lekéri vagy beállítja DateTimeFormatInfo a dátumok és időpontok megjelenítésének kulturálislag megfelelő formátumát. |
| DefaultThreadCurrentCulture |
Lekéri vagy beállítja az aktuális alkalmazástartományban lévő szálak alapértelmezett kultúráját. |
| DefaultThreadCurrentUICulture |
Lekéri vagy beállítja az aktuális alkalmazástartományban lévő szálak alapértelmezett felhasználói felületi kultúráját. |
| DisplayName |
Lekéri a teljes honosított kulturális nevet. |
| EnglishName |
A kulturális nevet a languagefull [country/regionfull] formátumban kapja meg angol nyelven. |
| IetfLanguageTag |
Elavult vagy megszüntetett. Lekéri az RFC 4646 szabványazonosítót egy nyelvhez. |
| InstalledUICulture |
Lekéri az CultureInfo operációs rendszerrel telepített kultúrát. |
| InvariantCulture |
Lekéri a CultureInfo kultúrafüggetlen objektumot (invariáns). |
| IsNeutralCulture |
Egy értéket kap, amely jelzi, hogy az aktuális CultureInfo egy semleges kultúrát jelöl-e. |
| IsReadOnly |
Egy értéket kap, amely jelzi, hogy az aktuális CultureInfo írásvédett-e. |
| KeyboardLayoutId |
Lekéri az aktív bemeneti területi azonosítót. |
| LCID |
Lekéri az aktuális CultureInfokulturális azonosítót. |
| Name |
Lekéri a kultúra nevét a languagecode2- formátumban. |
| NativeName |
Lekéri a kultúra nevét, amely a nyelvből, az országból/régióból és az opcionális szkriptből áll, amelyet a kultúra megjelenít. |
| NumberFormat |
Lekéri vagy beállítja NumberFormatInfo a számok, pénznemek és százalékok megjelenítésének kulturálisan megfelelő formátumát. |
| OptionalCalendars |
Lekéri a kultúra által használható naptárak listáját. |
| Parent |
Lekéri az CultureInfo aktuális CultureInfoszülőkultúráját jelképező értéket. |
| TextInfo |
Lekéri a TextInfo kultúrához társított írási rendszert meghatározó elemet. |
| ThreeLetterISOLanguageName |
Lekéri az ISO 639-2 hárombetűs kódját az aktuális CultureInfonyelvhez. |
| ThreeLetterWindowsLanguageName |
Lekéri a Windows API-ban meghatározott nyelv hárombetűs kódját. |
| TwoLetterISOLanguageName |
Lekéri az ISO 639-1 kétbetűs vagy AZ ISO 639-3 hárombetűs kódját az aktuális CultureInfonyelvhez. |
| UseUserOverride |
Beolvas egy értéket, amely jelzi, hogy az aktuális CultureInfo objektum használja-e a felhasználó által kiválasztott kulturális beállításokat. |
Metódusok
| Name | Description |
|---|---|
| ClearCachedData() |
Frissíti a gyorsítótárazott kultúrával kapcsolatos információkat. |
| Clone() |
Másolatot készít az aktuálisról CultureInfo. |
| CreateSpecificCulture(String) |
Létrehoz egy olyan kultúrát CultureInfo , amely a megadott névvel társított adott kultúrát jelöli. |
| Equals(Object) |
Meghatározza, hogy a megadott objektum ugyanaz-e, mint az aktuális CultureInfo. |
| GetConsoleFallbackUICulture() |
A konzolalkalmazásokhoz megfelelő alternatív felhasználói felületi kultúrát kap, ha az alapértelmezett grafikus felhasználói felületi kultúra nem megfelelő. |
| GetCultureInfo(Int32) |
Egy kultúra gyorsítótárazott, írásvédett példányát kéri le a megadott kulturális azonosító használatával. |
| GetCultureInfo(String, Boolean) |
Egy kultúra gyorsítótárazott, írásvédett példányát kéri le. |
| GetCultureInfo(String, String) |
Egy kultúra gyorsítótárazott, írásvédett példányát kéri le. A paraméterek egy olyan kultúrát határoznak meg, amely inicializálva van egy TextInfo másik kultúra által megadott és CompareInfo objektumokkal. |
| GetCultureInfo(String) |
Egy kulturális kultúra gyorsítótárazott, írásvédett példányát kéri le a megadott kulturális névvel. |
| GetCultureInfoByIetfLanguageTag(String) |
Elavult vagy megszüntetett. Lekéri a megadott RFC 4646 nyelvi címke által azonosított nyelvi jellemzőkkel rendelkező írásvédett CultureInfo objektumot. |
| GetCultures(CultureTypes) |
Lekéri a támogatott kultúrák listáját a megadott CultureTypes paraméter alapján. |
| GetFormat(Type) |
Lekéri a megadott típus formázását meghatározó objektumot. |
| GetHashCode() |
Az aktuális CultureInfo, kivonatoló algoritmusokhoz és adatstruktúrákhoz, például kivonattáblákhoz alkalmas kivonatfüggvényként szolgál. |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| ReadOnly(CultureInfo) |
Egy írásvédett burkolót ad vissza a megadott CultureInfo objektum köré. |
| ToString() |
Egy sztringet ad vissza, amely az aktuális CultureInfo nevét tartalmazza a languagecode2- formátumban. |