CultureInfo Sınıf

Tanım

Belirli bir kültür (yönetilmeyen kod geliştirme için yerel ayar olarak adlandırılır) hakkında bilgi sağlar. Bilgiler kültür, yazma sistemi, kullanılan takvim, dizelerin sıralama düzeni ve tarihler ve sayılar için biçimlendirme adlarını içerir.

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
Devralma
CultureInfo
Öznitelikler
Uygulamalar

Açıklamalar

CultureInfo sınıfı dil, alt dil, ülke/bölge, takvim ve kurallar gibi belirli bir kültürle ilişkili bilgiler sağlar. Bu sınıf, DateTimeFormatInfo, NumberFormatInfo, CompareInfo ve TextInfo nesnelerinin kültüre özgü örneklerine de erişim sağlar. Bu nesneler, büyük ve küçük harflerin kullanımı, tarih ve sayıları biçimlendirme ve metin karşılaştırma gibi kültüre özgü işlemler için gereken bilgileri içerir. CultureInfo sınıfı, doğrudan veya dolaylı olarak String, DateTime, DateTimeOffset ve sayısal türler gibi kültüre özgü verileri biçimlendiren, ayrıştıran veya işleyen sınıflar tarafından kullanılır.

Kültür adları ve tanımlayıcıları

sınıfı, CultureInfo RFC 4646'yı temel alarak her kültür için benzersiz bir ad belirtir. Ad, bir dille ilişkili ISO 639 iki harfli veya üç harfli küçük harfli kültür kodunun ve bir ülke veya bölgeyle ilişkili ISO 3166 iki harfli büyük harfli alt kültür kodunun birleşimidir. Buna ek olarak, Windows 10 veya üzeri altında çalışan uygulamalar için geçerli BCP-47 dil etiketlerine karşılık gelen kültür adları desteklenir.

Note

Bir kültür adı bir sınıf oluşturucuya veya CreateSpecificCultureCultureInfo bir yönteme geçirildiğinde, büyük/küçük harf önemli değildir.

RFC 4646'yı temel alan kültür adının biçimi, languagecode2-country/regioncode2burada languagecode2 iki harfli dil kodudur ve country/regioncode2 iki harfli alt kültür kodudur. Japonca (Japonya) için ja-JP ve İngilizce (Birleşik Devletler) için en-US örnekler verilebilir. İki harfli dil kodunun kullanılamadığı durumlarda ISO 639-3'te tanımlanan üç harfli kod kullanılır.

Bazı kültür adları bir ISO 15924 betiği de belirtir. Örneğin, Cyrl Kiril betiğini, Latn ise Latin betiğini belirtir. Bir betik içeren kültür adı, şu desenindedir: languagecode2-scripttag-country/regioncode2. Özbekçe (Kiril, Özbekistan) için bu tür bir kültür adı örneğidir uz-Cyrl-UZ . Windows Vista'dan önceki Windows işletim sistemlerinde, betik içeren bir kültür adı languagecode2-country/regioncode2-scripttag desenini kullanır; örneğin, Özbekçe (Kiril, Özbekistan) için uz-UZ-Cyrl.

Nötr bir kültür yalnızca iki harfli, küçük harfli dil kodu tarafından belirtilir. Örneğin, fr Fransızca için nötr kültürü belirtir ve de Almanca için nötr kültürü belirtir.

Note

Bu kuralla çelişen iki kültür adı vardır. Çince (Basitleştirilmiş), adlı zh-Hansve Çince (Geleneksel), adlı zh-Hantkültürler nötr kültürlerdir. Kültür adları, mevcut standardı temsil eder ve aksi durumda eski adları zh-CHS ve zh-CHT kullanmak için bir nedeniniz olmadıkça kullanılmalıdır.

Kültür tanımlayıcısı standart bir uluslararası sayısal kısaltmadır ve yüklü kültürlerden birini benzersiz olarak tanımlamak için gerekli bileşenlere sahiptir. Uygulamanız önceden tanımlanmış kültür tanımlayıcıları kullanabilir veya özel tanımlayıcılar tanımlayabilir.

Önceden tanımlanmış bazı kültür adları ve tanımlayıcıları ad alanında System.Globalization bu ve diğer sınıflar tarafından kullanılır. Windows sistemleriyle ilgili ayrıntılı kültür bilgileri için, Windows tarafından desteklenen dil/bölge adları listesindeki Dil etiketi sütununa bakın. Kültür adları BCP 47 tarafından tanımlanan standarda uyar.

Kültür adları ve tanımlayıcıları, belirli bir bilgisayarda bulunabilen kültürlerin yalnızca bir alt kümesini temsil eder. Windows sürümleri veya hizmet paketleri kullanılabilir kültürleri değiştirebilir. Uygulamalar sınıfını CultureAndRegionInfoBuilder kullanarak özel kültürler ekleyebilir. Kullanıcılar, Microsoft Locale Builder aracını kullanarak kendi özel kültürlerini ekleyebilir. Microsoft Locale Builder, CultureAndRegionInfoBuilder sınıfı kullanılarak yönetilen kod kullanılarak yazılmıştır.

Birkaç farklı ad, özellikle aşağıdaki sınıf üyeleriyle ilişkili adlar olmak üzere bir kültürle yakından ilişkilidir:

Sabit, nötr ve belirli kültürler

Kültürler genellikle üç küme halinde gruplandırılır: sabit kültürler, nötr kültürler ve belirli kültürler.

Sabit bir kültür kültüre duyarsızdır. Uygulamanız, sabit kültürü boş bir dize ("") olarak veya tanımlayıcı ile ismi aracılığıyla belirtir. InvariantCulture sabit kültürün bir örneğini tanımlar. İngilizce diliyle ilişkilendirilir, ancak herhangi bir ülke/bölgeyle ilişkilendirilmemiştir. Globalization ad alanında kültür gerektiren neredeyse her yöntemde kullanılır.

Tarafsız bir kültür, bir dille ilişkili olan ancak ülke/bölgeyle ilişkili olmayan bir kültürdür. Belirli bir kültür, bir dil ve ülke/bölge ile ilişkili bir kültürdür. Örneğin, fr Fransız kültürünün nötr adıdır ve fr-FR belirli Bir Fransız (Fransa) kültürünün adıdır. Çince (Basitleştirilmiş) ve Çince (Geleneksel) de nötr kültürler olarak kabul edilir.

İçerdiği CompareInfo veriler rastgele olduğundan, nötr bir kültür için bir sınıfın örneği oluşturulması önerilmez. Verileri görüntülemek ve sıralamak için hem dili hem de bölgeyi belirtin. Ayrıca, Name tarafsız bir kültür için oluşturulan bir CompareInfo nesnenin özelliği yalnızca ülkeyi döndürür ve bölgeyi içermez.

Tanımlanan kültürler, belirli bir kültürün üst öğesinin nötr bir kültür olduğu ve nötr kültürün üst öğesinin sabit kültür olduğu bir hiyerarşiye sahiptir. özelliği, Parent belirli bir kültürle ilişkili nötr kültürü içerir. Özel kültürler Parent özelliğini bu desene uygun olarak tanımlamalıdır.

Belirli bir kültürün kaynakları işletim sisteminde kullanılamıyorsa, ilişkili nötr kültürün kaynakları kullanılır. Nötr kültürün kaynakları kullanılamıyorsa, ana derlemeye katıştırılmış kaynaklar kullanılır. Kaynak geri dönüş işlemi hakkında daha fazla bilgi için bkz. Kaynak Paketleme ve Dağıtma.

Windows API'sindeki yerel ayarlar listesi, .NET tarafından desteklenen kültürler listesinden biraz farklıdır. Örneğin p/invoke mekanizması aracılığıyla Windows ile birlikte çalışabilirlik gerekiyorsa, uygulama işletim sistemi için tanımlanan belirli bir kültürü kullanmalıdır. Belirli bir kültürün kullanılması, LCID ile aynı olan yerel ayar tanımlayıcısıyla belirlenen eşdeğer Windows yerel ayarıyla tutarlılık sağlar.

A DateTimeFormatInfo veya a NumberFormatInfo yalnızca sabit kültür için veya belirli kültürler için oluşturulabilir, nötr kültürler için oluşturulmaz.

Eğer DateTimeFormatInfo.Calendar, TaiwanCalendar ise ancak Thread.CurrentCulturezh-TW olarak ayarlı değilse, o zaman DateTimeFormatInfo.NativeCalendarName, DateTimeFormatInfo.GetEraName ve DateTimeFormatInfo.GetAbbreviatedEraName boş bir dize ("") döndürür.

Özel kültürler

Windows'da özel yerel ayarlar oluşturabilirsiniz. Daha fazla bilgi için bkz . Özel yerel ayarlar.

CultureInfo ve kültürel veriler

.NET, kültürel verilerini işletim sistemine bağlı olarak iki farklı kaynaktan türetir:

  • Unix platformlarında veya Windows 10 ve sonraki sürümlerinde, kültürel veriler unicode (ICU) kitaplığı için International Components tarafından sağlanır. ICU Kitaplığı'nın belirli sürümü tek tek işletim sistemine bağlıdır.
  • Windows 8.1 ve önceki sürümlerde, kültürel veriler Windows işletim sistemi tarafından sağlanır.

Bu nedenle, belirli bir .NET uygulamasında, platformunda veya sürümünde kullanılabilen bir kültür farklı bir .NET uygulamasında, platformunda veya sürümünde kullanılamayabilir.

Bazı CultureInfo nesneler, temel alınan platforma bağlı olarak farklılık gösterir. Özellikle, zh-CN, veya Çince (Basitleştirilmiş, Çin) ve zh-TW, veya Çince (Geleneksel, Tayvan), Windows sistemlerinde kullanılabilir kültürlerdir, ancak Unix sistemlerinde takma adlandırılmış kültürlerdir. "zh-CN", "zh-Hans-CN" kültürünün diğer adıdır ve "zh-TW", "zh-Hant-TW" kültürünün diğer adıdır. Diğer adlara sahip kültürler GetCultures yöntemine yapılan çağrılarla döndürülmez ve Windows'taki karşılık gelenlerine göre farklı özellik değerlerine, farklı kültürleri içermeleri de dahil olmak üzere, sahip olabilir. zh-CN ve zh-TW kültürleri için bu farklılıklar şunlardır:

  • Windows sistemlerinde, "zh-CN" kültürünün üst kültürü "zh-Hans" ve "zh-TW" kültürünün üst kültürü "zh-Hant"tır. Her iki kültürün de üst kültürü "zh"dir. Unix sistemlerinde her iki kültürün de ana ailesi "zh"tir. Bu, "zh-CN" veya "zh-TW" kültürleri için kültüre özgü kaynaklar sağlamaz ancak nötr "zh-Hans" veya "zh-Hant" kültürü için bir kaynak sağlarsanız uygulamanızın Windows'ta nötr kültüre yönelik kaynakları yükleyeceği ancak Unix'te yükleymediği anlamına gelir. Unix tabanlı sistemlerde, iş parçacığını CurrentUICulture açıkça "zh-Hans" veya "zh-Hant" olarak ayarlamanız gerekir.

  • Windows sistemlerinde, "zh-CN" kültürünü temsil eden bir örneği çağırıp CultureInfo.Equals "zh-Hans-CN" örneğini geçirerek döndürür true. Unix sistemlerinde yöntem çağrısı döndürür false. Bu davranış, bir "zh-TW" Equals örneğini çağırmak ve bu örneğe "zh-Hant-Tw" CultureInfo örneğini geçmek için de geçerlidir.

Dinamik kültür verileri

Sabit kültür dışında, kültür verileri dinamiktir. Bu, önceden tanımlanmış kültürler için bile geçerlidir. Örneğin, ülkeler veya bölgeler yeni para birimleri benimser, sözcüklerin yazımını değiştirir veya tercih ettikleri takvimi değiştirir ve kültür tanımları bunu izlemek için değişir. Özel kültürler bildirimde bulunmaksızın değiştirilebilir ve belirli bir kültür özel değiştirme kültürü tarafından geçersiz kılınabilir. Ayrıca, aşağıda açıklandığı gibi, bireysel bir kullanıcı kültürel tercihleri geçersiz kılabilir. Uygulamalar her zaman çalışma zamanında kültür verilerini almalıdır.

Caution

Veri kaydederken uygulamanız sabit kültürü, ikili biçimi veya kültürden bağımsız belirli bir biçimi kullanmalıdır. Sabit kültür dışında belirli bir kültürle ilişkili geçerli değerlere göre kaydedilen veriler okunamaz hale gelebilir veya kültür değişirse anlam olarak değişebilir.

Geçerli kültür ve geçerli kullanıcı arabirimi kültürü

Bir .NET uygulamasındaki her iş parçacığının geçerli bir kültürü ve geçerli kullanıcı arabirimi kültürü vardır. Geçerli kültür tarihler, saatler, sayılar ve para birimi değerleri için biçimlendirme kurallarını, metnin sıralama düzenini, büyük/küçük harf kurallarını ve dizelerin karşılaştırıldığı yolları belirler. Geçerli UI kültürü, çalışma zamanı sırasında kültüre özgü kaynakların alınmasını sağlar.

Note

Geçerli ve geçerli kullanıcı arabirimi kültürünün iş parçacığı başına nasıl belirlendiği hakkında bilgi için Kültür ve iş parçacıkları bölümüne bakın. Geçerli ve mevcut kullanıcı arabirimi kültürünün, görev tabanlı zaman uyumsuz işlemler gerçekleştiren iş parçacıklarında nasıl belirlendiği hakkında bilgi için Kültür ve görev tabanlı zaman uyumsuz işlemler bölümüne bakın.

Geçerli kültür hakkında daha ayrıntılı bilgi için özellik CultureInfo.CurrentCulture kısmına bakın. Geçerli kullanıcı arabirimi kültürü hakkında daha ayrıntılı bilgi için özellik konusuna CultureInfo.CurrentUICulture bakın.

Geçerli ve geçerli kullanıcı arabirimi kültürlerini alma

Geçerli kültürü temsil eden bir CultureInfo nesneyi iki yoldan biriyle alabilirsiniz:

Aşağıdaki örnek her iki özellik değerini de alır, eşit olduklarını gösterecek şekilde karşılaştırır ve geçerli kültürün adını görüntüler.

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

Geçerli kullanıcı arabirimi kültürünü temsil eden bir CultureInfo nesneyi iki yoldan biriyle alabilirsiniz:

Aşağıdaki örnek her iki özellik değerini de alır, eşit olduklarını gösterecek şekilde karşılaştırır ve geçerli ui kültürünün adını görüntüler.

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

Geçerli ve geçerli kullanıcı arabirimi kültürlerini ayarlama

Bir iş parçacığının kültürünü ve UI kültürünü değiştirmek için aşağıdakileri yapın:

  1. Bir CultureInfo sınıf oluşturucusunu çağırarak ve kültürün adını geçirerek, bu kültürü temsil eden bir CultureInfo nesnesi oluşturun. Yeni kültür mevcut Windows kültürüyle aynıysa, oluşturucu, kullanıcı geçersiz kılmalarını yansıtan bir CultureInfo(String) nesnesi örneği oluşturur. Oluşturucu, yeni kültür geçerli Windows kültürüyle aynıysa, yeni örneklediğiniz CultureInfo(String, Boolean) nesnesinin kullanıcı geçersiz kılmalarını yansıtıp yansıtmadığını belirtmenize olanak tanır.

  2. CultureInfo nesnesini veya CultureInfo.CurrentCulture özelliğine atayınCultureInfo.CurrentUICulture.

Aşağıdaki örnek geçerli kültürü alır. Fransız (Fransa) kültürü dışında bir şey ise, mevcut kültürü Fransızca (Fransa) olarak değiştirir. Aksi takdirde, geçerli kültürü Fransızca (Lüksemburg) olarak değiştirir.

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

Aşağıdaki örnek geçerli kültürü alır. Eğer Sloven (Slovenya) kültürü dışında bir şeyse, mevcut kültürü Sloven (Slovenya) olarak değiştirir. Aksi takdirde, mevcut kültürü Hırvatçe (Hırvatistan) olarak değiştirir.

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

Tüm kültürleri al

yöntemini çağırarak GetCultures belirli kültür kategorilerinden veya yerel bilgisayarda bulunan tüm kültürlerden oluşan bir dizi alabilirsiniz. Örneğin, özel kültürleri, belirli kültürleri veya nötr kültürleri tek başına veya birlikte alabilirsiniz.

Aşağıdaki örnek, önce tüm özel kültürleri almak için numaralandırma üyesi GetCultures ile ve ardından tüm değiştirme kültürlerini almak için numaralandırma üyesi System.Globalization.CultureTypes ile System.Globalization.CultureTypes yöntemini iki kez çağırır.

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.

Kültür ve temalar

Yeni bir uygulama iş parçacığı başlatıldığında, geçerli kültürü ve geçerli UI kültürü, geçerli iş parçacığı kültürü tarafından değil, geçerli sistem kültürü tarafından tanımlanır. Aşağıdaki örnekte fark gösterilmektedir. Bir uygulama iş parçacığının geçerli kültürünü ve geçerli kullanıcı arabirimi kültürünü Fransızca (Fransa) kültürüne (fr-FR) ayarlar. Geçerli kültür zaten fr-FR ise, örnek bunu İngilizce (Birleşik Devletler) kültürüne (en-US) ayarlar. Para birimi değerleri olarak üç rastgele sayı görüntüler ve ardından yeni bir iş parçacığı oluşturur ve bu da para birimi değerleri olarak üç rastgele sayı daha görüntüler. Ancak örnekte gösterildiği gibi, yeni iş parçacığı tarafından görüntülenen para birimi değerleri, ana uygulama iş parçacığından elde edilen çıkışın aksine Fransızca (Fransa) kültürünün biçimlendirme kurallarını yansıtmaz.

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

Bir uygulama etki alanındaki tüm iş parçacıklarının kültür ve kullanıcı arabirimi kültürünü, o kültürü temsil eden bir CultureInfo nesnesi atayarak DefaultThreadCurrentCulture ve DefaultThreadCurrentUICulture özelliklerinde ayarlayabilirsiniz. Aşağıdaki örnek, varsayılan uygulama etki alanındaki tüm iş parçacıklarının aynı kültürü paylaştığından emin olmak için bu özellikleri kullanır.

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 €

DefaultThreadCurrentCulture ve DefaultThreadCurrentUICulture özelliklerine değer atadığınızda, uygulama etki alanındaki iş parçacıklarının kültürü ve UI kültürü de spesifik bir kültür atanmamışsa değişir. Ancak, bu iş parçacıkları yeni kültür ayarlarını yalnızca geçerli uygulama etki alanında çalıştıkları sürece yansıtır. Bu iş parçacıkları başka bir uygulama etki alanında yürütülürse, kültürleri söz konusu uygulama etki alanı için tanımlanan varsayılan kültür olur. Sonuç olarak, ana uygulama iş parçacığının kültürünü her zaman ayarlamanızı ve bunu değiştirmek için DefaultThreadCurrentCulture ve DefaultThreadCurrentUICulture özelliklerine güvenmemenizi öneririz.

Kültür ve göreve dayalı zaman uyumsuz işlemler

Görev tabanlı zaman uyumsuz programlama düzeni, iş parçacığı havuzu iş parçacıklarında temsilcileri zaman uyumsuz olarak yürütmek için Task ve Task<TResult> nesnelerini kullanır. Belirli bir görevin üzerinde çalıştığı belirli iş parçacığı önceden bilinmez, ancak yalnızca çalışma zamanında belirlenir.

Kültür, zaman uyumsuz bir işlemin bağlamının bir parçasıdır. Başka bir deyişle, zaman uyumsuz işlemler varsayılan olarak başlatıldıkları iş parçacığının CurrentCulture ve CurrentUICulture özelliklerinin değerlerini devralır. Geçerli kültür veya geçerli UI kültürü sistem kültüründen farklıysa, geçerli kültür iş parçacığı sınırları arasında geçiş yapar ve asenkron bir işlem yürüten iş parçacığı havuzundaki iş parçacığının geçerli kültürü olur.

Aşağıdaki örnek basit bir çizim sağlar. Örnek, Func<TResult>para birimi değeri olarak biçimlendirilmiş bazı sayıları döndüren bir formatDelegate temsilci tanımlar. Örnek, geçerli sistem kültürünü Fransızca (Fransa) veya Fransızca (Fransa) zaten geçerli kültür ise İngilizce (Birleşik Devletler) olarak değiştirir. Bu daha sonra:

  • Ana uygulama iş parçacığında zaman uyumlu bir şekilde çalışması için temsilciyi doğrudan çağırır.
  • Temsilciyi bir iş parçacığı havuzu iş parçacığında eşzamanlı olmayan bir şekilde çalıştıran bir görev oluşturur.
  • Ana uygulama iş parçacığında temsilciyi zaman uyumlu bir şekilde çalıştıracak bir görevi, Task.RunSynchronously yöntemini çağırarak oluşturur.

Örnekteki çıktıda gösterildiği gibi, geçerli kültür Fransızca (Fransa) olarak değiştirildiğinde, görevlerin zaman uyumsuz olarak çağrıldığı iş parçacığının geçerli kültürü bu asenkron işlem için geçerli kültür olur.

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 nesne serileştirmesi

Bir CultureInfo nesne seri hale getirildiğinde, aslında depolanan tek şey Name ve UseUserOverride olur. Yalnızca Name'ın aynı anlama geldiği bir ortamda başarıyla seriden çıkarılır. Aşağıdaki üç örnek neden her zaman böyle olmadığını gösterir:

  • CultureTypes özelliğinin değeri CultureTypes.InstalledWin32Cultures ve bu kültür ilk olarak Windows işletim sisteminin belirli bir sürümünde tanıtıldıysa, Windows'un önceki bir sürümünde seri hale getirmek mümkün değildir. Örneğin, Windows 10'da tanıtılan bir kültür, Windows 8'de deserileştirilemez.

  • CultureTypes değeri CultureTypes.UserCustomCulture ise ve seri durumdan çıkarıldığı bilgisayarda bu kullanıcının özelleştirilmiş kültürü yüklü değilse, seri durumdan çıkarmak mümkün değildir.

  • CultureTypes değeri CultureTypes.ReplacementCultures ise ve seri durumdan çıkarıldığı bilgisayarda bu değiştirme kültürü yoksa, aynı ada göre seri durumdan çıkarılır, ancak tüm özelliklere sahip olmayabilir. Örneğin, bilgisayar A'da bir yedek kültürse en-US, ancak bilgisayar B'de değilse ve bu kültüre başvuran bir CultureInfo nesne bilgisayar A'da serileştirilirse ve bilgisayar B'de seriden çıkarılırsa, kültüre ait özel özelliklerden hiçbiri iletilmez. Kültür başarıyla seri durumdan çıkarılır, ancak farklı bir anlam taşır.

Denetim Masası ayarları

Kullanıcı, Denetim Masası bölgesel ve dil seçenekleri bölümü aracılığıyla geçerli Windows kültürüyle ilişkili bazı değerleri geçersiz kılmayı seçebilir. Örneğin, kullanıcı tarihi farklı bir biçimde görüntülemeyi veya kültür için varsayılan değer dışında bir para birimi kullanmayı seçebilir. Genel olarak, uygulamalarınız kullanıcıların bu geçersiz kılmalarını dikkate almalıdır.

Eğer UseUserOverridetrue ve belirtilen kültür geçerli Windows kültürüyle eşleşiyorsa, CultureInfo bu geçersiz kılmaları, DateTimeFormatInfo özelliği tarafından döndürülen DateTimeFormat örneğinin özellikleri ve NumberFormatInfo özelliği tarafından döndürülen NumberFormat örneğinin özellikleri için kullanıcı ayarları da dahil olmak üzere kullanır. Kullanıcı ayarları, CultureInfo ile ilişkili kültürle uyumlu değilse; örneğin seçilen takvim OptionalCalendars üzerinde sunulanlardan biri değilse, yöntemlerin sonuçları ve özelliklerin değerleri tanımsız olur.

Alternatif sıralama düzenleri

Bazı kültürler birden fazla sıralama düzenini destekler. Örneğin:

  • İspanyolca (İspanya) kültürü iki sıralama düzenine sahiptir: varsayılan uluslararası sıralama düzeni ve geleneksel sıralama düzeni. Bir CultureInfo nesnesini es-ES kültür adıyla oluşturduğunuzda, uluslararası sıralama düzeni kullanılır. CultureInfo kültür adıyla bir es-ES-tradnl nesnesi örneği oluşturduğunuzda, geleneksel sıralama düzeni kullanılır.
  • zh-CN (Çince (Basitleştirilmiş, PRC)) kültürü iki sıralama düzeni destekler: söylenişe göre (varsayılan) ve vuruş sayısına göre. Bir CultureInfo nesnesini zh-CN kültür adıyla oluşturduğunuzda, varsayılan sıralama düzeni kullanılır. 0x00020804 yerel tanımlayıcısı olan bir CultureInfo nesnenin örneğini oluştururken dizeler vuruş sayısına göre sıralanır.

Aşağıdaki tabloda, alternatif sıralama düzenlerini destekleyen kültürler ve varsayılan ve alternatif sıralama düzenleri için tanımlayıcılar listeilmektedir.

Kültür adı Kültür Varsayılan sıralama adı ve tanımlayıcısı Alternatif sıralama adı ve tanımlayıcısı
es-ES İspanyolca (İspanya) Uluslararası: 0x00000C0A Geleneksel: 0x0000040A
zh-TW Çince (Tayvan) Vuruş Sayısı: 0x00000404 Bopomofo: 0x00030404
zh-CN Çince (PRC) Söyleniş: 0x00000804 Vuruş Sayısı: 0x00020804
zh-HK Çin (Hong Kong Özel İdare Bölgesi) Vuruş Sayısı: 0x00000c04 Vuruş Sayısı: 0x00020c04
zh-SG Çince (Singapur) Söyleniş: 0x00001004 Vuruş Sayısı: 0x00021004
zh-MO Çince (Macao SAR) Söyleniş: 0x00001404 Vuruş Sayısı: 0x00021404
ja-JP Japonca (Japonya) Varsayılan: 0x00000411 Unicode: 0x00010411
ko-KR Korece (Kore) Varsayılan: 0x00000412 Korece Xwansung - Unicode: 0x00010412
de-DE Almanca (Almanya) Sözlük: 0x00000407 Telefon Rehberi Sıralama DIN: 0x00010407
hu-HU Macarca dili (Macaristan) Varsayılan: 0x0000040e Teknik Sıralama: 0x0001040e
ka-GE Gürcüce (Gürcistan) Geleneksel: 0x00000437 Modern Sıralama: 0x00010437

Example

Aşağıdaki örnekte, uluslararası sıralama ile İspanyolca (İspanya) için ve geleneksel sıralamaya sahip başka bir CultureInfoCultureInfo nesnenin nasıl oluşturulacağı gösterilmektedir.

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

Oluşturucular

Name Description
CultureInfo(Int32, Boolean)

Kültür tanımlayıcısı CultureInfo tarafından belirtilen kültüre ve Windows'tan kullanıcı tarafından seçilen kültür ayarlarının kullanılıp kullanılmayacağını belirten bir değere göre sınıfının yeni bir örneğini başlatır.

CultureInfo(Int32)

Kültür tanımlayıcısı CultureInfo tarafından belirtilen kültüre göre sınıfının yeni bir örneğini başlatır.

CultureInfo(String, Boolean)

Adıyla belirtilen kültüre ve Windows'tan kullanıcı tarafından seçilen kültür ayarlarının kullanılıp kullanılmayacağını belirten bir değere göre sınıfının yeni bir örneğini CultureInfo başlatır.

CultureInfo(String)

Adla belirtilen kültüre göre sınıfının yeni bir örneğini CultureInfo başlatır.

Özellikler

Name Description
Calendar

Kültür tarafından kullanılan varsayılan takvimi alır.

CompareInfo

Kültür için CompareInfo dizelerin nasıl karşılaştırıldığını tanımlayan öğesini alır.

CultureTypes

Geçerli CultureInfo nesneyle ilgili kültür türlerini alır.

CurrentCulture

Geçerli iş parçacığı ve görev tabanlı zaman uyumsuz işlemler tarafından kullanılan kültürü temsil eden nesneyi alır veya ayarlar CultureInfo .

CurrentUICulture

çalışma zamanında kültüre özgü kaynakları aramak için Resource Manager tarafından kullanılan geçerli kullanıcı arabirimi kültürünü temsil eden CultureInfo nesnesini alır veya ayarlar.

DateTimeFormat

Tarih ve saatleri görüntülemenin kültürel olarak uygun biçimini tanımlayan bir DateTimeFormatInfo alır veya ayarlar.

DefaultThreadCurrentCulture

Geçerli uygulama etki alanındaki iş parçacıkları için varsayılan kültürü alır veya ayarlar.

DefaultThreadCurrentUICulture

Geçerli uygulama etki alanındaki iş parçacıkları için varsayılan ui kültürünü alır veya ayarlar.

DisplayName

Tam yerelleştirilmiş kültür adını alır.

EnglishName

Kültür adını İngilizce olarak languagefull [country/regionfull] biçiminde alır.

IetfLanguageTag

Deprecated. Bir dil için RFC 4646 standart kimliğini alır.

InstalledUICulture

CultureInfo İşletim sistemiyle yüklenen kültürü temsil eden öğesini alır.

InvariantCulture

Kültürden CultureInfo bağımsız (sabit) nesneyi alır.

IsNeutralCulture

Geçerli CultureInfo değerin nötr bir kültürü temsil edip etmediğini gösteren bir değer alır.

IsReadOnly

Geçerli CultureInfo değerin salt okunur olup olmadığını gösteren bir değer alır.

KeyboardLayoutId

Etkin giriş yerel ayar tanımlayıcısını alır.

LCID

Geçerli CultureInfoiçin kültür tanımlayıcısını alır.

Name

Kültür adını languagecode2- biçiminde alır.

NativeName

Dili, ülkeyi/bölgeyi ve kültürün görüntüleyecek şekilde ayarlandığı isteğe bağlı betiği içeren kültür adını alır.

NumberFormat

Sayıları, para birimini ve yüzdeyi görüntülemenin kültürel olarak uygun biçimini tanımlayan bir NumberFormatInfo alır veya ayarlar.

OptionalCalendars

Kültür tarafından kullanılabilecek takvimlerin listesini alır.

Parent

Geçerli CultureInfoöğesinin CultureInfo üst kültürünü temsil eden öğesini alır.

TextInfo

TextInfo Kültürle ilişkili yazma sistemini tanımlayan öğesini alır.

ThreeLetterISOLanguageName

Geçerli CultureInfodilin ISO 639-2 üç harfli kodunu alır.

ThreeLetterWindowsLanguageName

Windows API'sinde tanımlanan dil için üç harfli kodu alır.

TwoLetterISOLanguageName

Geçerli CultureInfodili için ISO 639-1 iki harfli veya ISO 639-3 üç harfli kodu alır.

UseUserOverride

Geçerli CultureInfo nesnenin kullanıcı tarafından seçilen kültür ayarlarını kullanıp kullanmadığını gösteren bir değer alır.

Yöntemler

Name Description
ClearCachedData()

Önbelleğe alınan kültürle ilgili bilgileri yeniler.

Clone()

Geçerli CultureInfobir kopyasını oluşturur.

CreateSpecificCulture(String)

Belirtilen adla ilişkili belirli bir kültürü temsil eden bir CultureInfo oluşturur.

Equals(Object)

Belirtilen nesnenin geçerli CultureInfoile aynı kültür olup olmadığını belirler.

GetConsoleFallbackUICulture()

Varsayılan grafik kullanıcı arabirimi kültürü uygun olmadığında konsol uygulamaları için uygun alternatif bir kullanıcı arabirimi kültürü alır.

GetCultureInfo(Int32)

Belirtilen kültür tanımlayıcısını kullanarak bir kültürün önbelleğe alınmış, salt okunur bir örneğini alır.

GetCultureInfo(String, Boolean)

Bir kültürün önbelleğe alınmış, salt okunur bir örneğini alır.

GetCultureInfo(String, String)

Bir kültürün önbelleğe alınmış, salt okunur bir örneğini alır. Parametreler, başka bir kültür tarafından belirtilen ve TextInfo nesneleriyle CompareInfo başlatılan bir kültür belirtir.

GetCultureInfo(String)

Belirtilen kültür adını kullanarak bir kültürün önbelleğe alınmış, salt okunur bir örneğini alır.

GetCultureInfoByIetfLanguageTag(String)

Deprecated. Belirtilen RFC 4646 dil etiketi tarafından tanımlanan dil özelliklerine sahip salt okunur CultureInfo bir nesneyi alır.

GetCultures(CultureTypes)

Belirtilen CultureTypes parametreye göre filtrelenen desteklenen kültürlerin listesini alır.

GetFormat(Type)

Belirtilen türün nasıl biçimlendirildiğini tanımlayan bir nesne alır.

GetHashCode()

Geçerli CultureInfoiçin karma işlevi işlevi görür, karma tablo gibi karma algoritmalar ve veri yapıları için uygundur.

GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
ReadOnly(CultureInfo)

Belirtilen CultureInfo nesnenin çevresinde salt okunur bir sarmalayıcı döndürür.

ToString()

CultureInfo country/regioncode2- biçimindeki geçerli adı içeren bir dize döndürür.

Şunlara uygulanır

Ayrıca bkz.