CultureInfo Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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ürfalse. 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:
- CultureInfo.CurrentCulture özelliğinin değerini alarak.
- Thread.CurrentThread.CurrentCulture özelliğinin değerini alarak.
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:
CultureInfo.CurrentUICulture özelliğinin değerini alarak.
Thread.CurrentThread.CurrentUICulture özelliğinin değerini alarak.
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:
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.
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-ESkültür adıyla oluşturduğunuzda, uluslararası sıralama düzeni kullanılır. CultureInfo kültür adıyla bires-ES-tradnlnesnesi ö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 nesnesinizh-CNkü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. |