Nyelv

CultureInfo Osztály

Definíció

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 vissza false. 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:

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 :

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:

  1. 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.

  2. 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-US egy 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-ES objektumot példányosít, a rendszer a nemzetközi rendezési sorrendet használja. Amikor egy CultureInfo objektumot a es-ES-tradnl kulturá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 a zh-CN kultú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.

A következőre érvényes:

Lásd még