CultureInfo.CurrentCulture Özellik (System.Globalization) | Microsoft Docs
Geçerli iş parçacığı tarafından kullanılan kültürü temsil eden CultureInfo nesnesini alır veya ayarlar.Gets or sets the CultureInfo object that represents the culture used by the current thread.
Geçerli iş parçacığı tarafından kullanılan kültürü temsil eden nesne.An object that represents the culture used by the current thread.
Özelliği nullolarak ayarlanır.The property is set to null.
Aşağıdaki örnekte, geçerli iş parçacığının CurrentCulture ve CurrentUICulture nasıl değiştirileceği gösterilmektedir.The following example demonstrates how to change the CurrentCulture and CurrentUICulture of the current thread.
Bu özellik ve ilişkili nesneleri tarafından döndürülen CultureInfo nesnesi, tarihler, saatler, sayılar, para birimi değerleri, metnin sıralama düzeni, büyük/küçük harf kuralları ve dize karşılaştırmaları için varsayılan biçimi belirlemektir.The CultureInfo object that is returned by this property and its associated objects determine the default format for dates, times, numbers, currency values, the sorting order of text, casing conventions, and string comparisons.
Geçerli kültür yürütülen iş parçacığının bir özelliğidir.The current culture is a property of the executing thread. CultureInfo.CurrentCulture özelliğinin değerini almak Thread.CurrentThread.CurrentCulture özelliği tarafından döndürülen CultureInfo nesnesini almaya yönelik daha iyi bir eş değerdir.Retrieving the value of the CultureInfo.CurrentCulture property is a more performant equivalent of retrieving the CultureInfo object returned by the Thread.CurrentThread.CurrentCulture property.
.NET Framework 4.5.2 ve önceki sürümlerde, CurrentCulture özelliği salt okunurdur; diğer bir deyişle, özellik değerini alabilirsiniz, ancak bunu ayarlayamazsınız.In the .NET Framework 4.5.2 and earlier versions, the CurrentCulture property is read-only; that is, you can retrieve the property value, but you cannot set it. Geçerli kültürü değiştirmek için, yeni kültürü temsil eden CultureInfo nesnesini Thread.CurrentThread.CurrentCulture özelliğine atarsınız.To change the current culture, you assign the CultureInfo object that represents the new culture to the Thread.CurrentThread.CurrentCulture property. .NET Framework 4.6.NET Framework 4.6başlayarak, CurrentCulture özelliği okuma-yazma ' dır; özelliğin değerini hem ayarlayıp hem de alabilirsiniz.Starting with the .NET Framework 4.6.NET Framework 4.6, the CurrentCulture property is read-write; you can both set and retrieve the property's value. Özellik değerini yeni bir kültürü temsil eden bir CultureInfo nesnesine ayarlarsanız, Thread.CurrentThread.CurrentCulture özelliğinin değeri de değişir.If you do set the property value to a CultureInfo object that represents a new culture, the value of the Thread.CurrentThread.CurrentCulture property also changes.
Bu bölümde:In this section:
Bir Iş parçacığının kültürünün nasıl belirlendiği How a Thread's Culture Is Determined
Geçerli kültür alınıyor Getting the Current Culture
CurrentCulture özelliğini açıkça ayarlama Explicitly Setting the CurrentCulture Property
Geçerli kültür ve Kullanıcı geçersiz kılmaları The Current Culture and User Overrides
Kültür ve Windows uygulamalarıCulture and Windows Apps
Bir İş Parçacığının Kültürünün Nasıl BelirleneceğiHow a Thread's Culture Is Determined
Bir iş parçacığı başlatıldığında, kültürü başlangıçta aşağıdaki gibi belirlenir:When a thread is started, its culture is initially determined as follows:
Özellik değeri nulldeğilse, iş parçacığının yürütüldüğü uygulama etki alanında DefaultThreadCurrentCulture özelliği tarafından belirtilen kültürü alarak.By retrieving the culture that is specified by the DefaultThreadCurrentCulture property in the application domain in which the thread is executing, if the property value is not null.
İş parçacığı, görev tabanlı zaman uyumsuz bir işlem yürüten bir iş parçacığı havuzu iş parçacığıdır ve uygulama .NET Framework .NET Framework 4.6.NET Framework 4.6 veya sonraki bir sürümünü hedefliyorsa, kültürü çağıran iş parçacığının kültürüne göre belirlenir.If the thread is a thread pool thread that is executing a task-based asynchronous operation and the app targets the .NET Framework 4.6.NET Framework 4.6 or a later version of the .NET Framework, its culture is determined by the culture of the calling thread. Aşağıdaki örnek, geçerli kültürü Portekizce (Brezilya) olarak değiştirir ve altı görevi başlatır, her biri iş parçacığı KIMLIĞI, görev KIMLIĞI ve geçerli kültürü görüntüler.The following example changes the current culture to Portuguese (Brazil) and launches six tasks, each of which displays its thread ID, its task ID, and its current culture. Görevlerin (ve iş parçacıklarının) her biri çağıran iş parçacığının kültürünü devralmıştır.Each of the tasks (and the threads) has inherited the culture of the calling thread.
Daha fazla bilgi için, CultureInfo konusunun "Kültür ve görev tabanlı zaman uyumsuz işlemler" bölümüne bakın.For more information, see the "Culture and task-based asynchronous operations" section in the CultureInfo topic.
Windows GetUserDefaultLocaleName işlevini çağırarak.By calling the Windows GetUserDefaultLocaleName function.
Sistem tarafından yüklenen kültürden veya kullanıcının tercih edilen kültüründen farklı bir kültür ayarlarsanız ve uygulamanız birden çok iş parçacığı başlattığında, bu iş parçacıklarının geçerli kültürünün, iş parçacığının yürütüldüğü uygulama etki alanındaki DefaultThreadCurrentCulture özelliğine bir kültür atamadığınız müddetçe GetUserDefaultLocaleName işlevi tarafından döndürülen kültür olacağını unutmayın.Note that if you set a specific culture that is different from the system-installed culture or the user's preferred culture, and your application starts multiple threads, the current culture of those threads will be the culture that is returned by the GetUserDefaultLocaleName function, unless you assign a culture to the DefaultThreadCurrentCulture property in the application domain in which the thread is executing.
Bir iş parçacığının kültürünün nasıl belirlendiği hakkında daha fazla bilgi için, CultureInfo başvuru sayfasındaki "Kültür ve iş parçacıkları" bölümüne bakın.For more information about how the culture of a thread is determined, see the "Culture and threads" section in the CultureInfo reference page.
Geçerli kültür alınıyorGetting the Current Culture
CultureInfo.CurrentCulture özelliği, iş parçacığı başına bir ayardır; diğer bir deyişle, her bir iş parçacığının kendi kültürü olabilir.The CultureInfo.CurrentCulture property is a per-thread setting; that is, each thread can have its own culture. Aşağıdaki örnekte gösterildiği gibi, CultureInfo.CurrentCulture özelliğinin değerini alarak geçerli iş parçacığının kültürünü elde edersiniz.You get the culture of the current thread by retrieving the value of the CultureInfo.CurrentCulture property, as the following example illustrates.
Ayrıca, Thread.CurrentThread özelliğinden geçerli iş parçacığının kültürünün değerini de alabilirsiniz.You can also retrieve the value of the current thread's culture from the Thread.CurrentThread property.
CurrentCulture Özelliğini Açık Olarak AyarlamaExplicitly Setting the CurrentCulture Property
.NET Framework 4.6.NET Framework 4.6, mevcut bir iş parçacığı tarafından kullanılan kültürü değiştirmek için, CultureInfo.CurrentCulture özelliğini yeni kültür olarak ayarlarsınız.Staring with the .NET Framework 4.6.NET Framework 4.6, to change the culture that is used by an existing thread, you set the CultureInfo.CurrentCulture property to the new culture. Bir iş parçacığının kültürünü bu şekilde açıkça değiştirirseniz, iş parçacığı uygulama etki alanı sınırlarını aştığında bu değişiklik devam ettirir.If you explicitly change a thread's culture in this way, that change persists if the thread crosses application domain boundaries. Aşağıdaki örnek, geçerli iş parçacığı kültürünü Felemenkçe (Hollanda) olarak değiştirir.The following example changes the current thread culture to Dutch (Netherlands). Ayrıca, geçerli iş parçacığı uygulama etki alanı sınırlarını aştığında, geçerli kültürün değiştiğini de gösterir.It also shows that, when the current thread crosses application domain boundaries, its current culture remains changed.
CultureInfo.CurrentCulture özelliğini kullanarak kültürü değiştirmek ControlThread değer kümesiyle SecurityPermission bir izin gerektirir.Changing the culture by using the CultureInfo.CurrentCulture property requires a SecurityPermission permission with the ControlThread value set. İş parçacıklarından ilişkili güvenlik durumu nedeniyle iş parçacıklarını düzenleme tehlikeli.Manipulating threads is dangerous because of the security state associated with threads. Bu nedenle, bu izin yalnızca güvenilir koda ve yalnızca gerekli şekilde verilmelidir.Therefore, this permission should be given only to trustworthy code, and then only as necessary. Yarı güvenilir koddaki iş parçacığı kültürünü değiştiremezsiniz.You cannot change thread culture in semi-trusted code.
.NET Framework 4.NET Framework 4başlayarak, geçerli iş parçacığı kültürünü belirli bir kültür (örneğin, Fransızca (Kanada)) veya bağımsız kültür (örneğin, Fransızca) olarak değiştirebilirsiniz.Starting with the .NET Framework 4.NET Framework 4, you can explicitly change the current thread culture to either a specific culture (such as French (Canada)) or a neutral culture (such as French). Bir CultureInfo nesnesi nötr kültürü temsil ettiğinde Calendar, CompareInfo, DateTimeFormat, NumberFormatve TextInfo gibi CultureInfo özelliklerinin değerleri, nötr kültür ile ilişkili belirli kültürü yansıtır.When a CultureInfo object represents a neutral culture, the values of CultureInfo properties such as Calendar, CompareInfo, DateTimeFormat, NumberFormat, and TextInfo reflect the specific culture that is associated with the neutral culture. Örneğin, Ingilizce nötr kültür için baskın kültür Ingilizce (Birleşik Devletler); Almanya kültürü için baskın kültür Almanca (Almanya) ' dır.For example, the dominant culture for the English neutral culture is English (United States); the dominant culture for the German culture is German (Germany). Aşağıdaki örnekte, geçerli kültürün belirli bir kültür, Fransızca (Kanada) ve nötr kültür, Fransızca olarak ayarlandığı zaman biçimlendirme farkı gösterilmektedir.The following example illustrates the difference in formatting when the current culture is set to a specific culture, French (Canada), and a neutral culture, French.
Ayrıca, aşağıdaki örnekte gösterildiği gibi, bir ASP.NET uygulamasının CurrentCulture özelliğini kullanıcının tercih ettiği kültür olarak ayarlamak için CultureInfo.CurrentCulture özelliğini HttpRequest.UserLanguages özelliği ile birlikte kullanabilirsiniz.You can also use the CultureInfo.CurrentCulture property along with the HttpRequest.UserLanguages property to set the CurrentCulture property of an ASP.NET application to the user's preferred culture, as the following example illustrates.
Geçerli Kültür ve Kullanıcı Geçersiz KılmalarıThe Current Culture and User Overrides
Windows, kullanıcıların, Denetim Masası 'ndaki bölge ve dil seçeneklerini kullanarak CultureInfo nesnesinin ve ilişkili nesnelerinin standart özellik değerlerini geçersiz kılmasına izin verir.Windows allows users to override the standard property values of the CultureInfo object and its associated objects by using Regional and Language Options in Control Panel. CurrentCulture özelliği tarafından döndürülen CultureInfo nesnesi, aşağıdaki durumlarda bu kullanıcı geçersiz kılmalarını yansıtır:The CultureInfo object returned by the CurrentCulture property reflects these user overrides in the following cases:
Geçerli iş parçacığı kültürü Windows GetUserDefaultLocaleName işlevi tarafından örtük olarak ayarlandıysa.If the current thread culture is set implicitly by the Windows GetUserDefaultLocaleName function.
DefaultThreadCurrentCulture özelliği tarafından tanımlanan geçerli iş parçacığı kültürü geçerli Windows sistem kültürüne karşılık gelir.If the current thread culture defined by the DefaultThreadCurrentCulture property corresponds to the current Windows system culture.
Geçerli iş parçacığı kültürü açıkça CreateSpecificCulture yöntemi tarafından döndürülen bir kültüre ayarlandıysa ve bu kültür geçerli Windows sistem kültürüne karşılık gelir.If the current thread culture is set explicitly to a culture returned by the CreateSpecificCulture method, and that culture corresponds to the current Windows system culture.
Geçerli iş parçacığı kültürü açıkça CultureInfo(String) Oluşturucusu tarafından oluşturulan bir kültüre ayarlandıysa ve bu kültür geçerli Windows sistem kültürüne karşılık gelir.If the current thread culture is set explicitly to a culture instantiated by the CultureInfo(String) constructor, and that culture corresponds to the current Windows system culture.
Bazı durumlarda, özellikle sunucu uygulamaları için, geçerli kültürü Kullanıcı geçersiz kılmalarını yansıtan bir CultureInfo nesnesine ayarlamak istenmeyen bir işlem olabilir.In some cases, particularly for server applications, setting the current culture to a CultureInfo object that reflects user overrides may be undesirable. Bunun yerine, geçerli iş parçacığı kültürünü aşağıdaki yollarla Kullanıcı geçersiz kılmalarını yansıtmayan bir CultureInfo nesnesine ayarlayabilirsiniz:Instead, you can set the current thread culture to a CultureInfo object that does not reflect user overrides in the following ways:
CultureInfo(String, Boolean) oluşturucusunu useUserOverride bağımsız değişkeni için bir false değeriyle çağırarak.By calling the CultureInfo(String, Boolean) constructor with a value of false for the useUserOverride argument.
Önbelleğe alınmış, salt okunurdur CultureInfo nesnesini döndüren GetCultureInfo yöntemini çağırarak.By calling the GetCultureInfo method, which returns a cached, read-only CultureInfo object.
Geçerli kültür ve UWP uygulamalarıThe current culture and UWP apps
Evrensel Windows Platformu (UWP) uygulamalarında, CurrentCulture özelliği, .NET Framework ve .NET Core uygulamalarında olduğu gibi, salt yazılır. Bunu, geçerli kültürü almak ve ayarlamak için de kullanabilirsiniz.In Universal Windows Platform (UWP) apps, the CurrentCulture property is read-write, just as it is in .NET Framework and .NET Core apps; you can use it both to get and to set the current culture. Ancak, UWP uygulamaları geçerli kültür ile geçerli kullanıcı Arabirimi kültürünü ayırt etmez.However, UWP apps do not distinguish between the current culture and the current UI culture. CurrentCulture ve CurrentUICulture özellikleri, Windows. ApplicationModel. resources. Core. ResourceManager. DefaultContext. Languages koleksiyonundaki ilk değere eşlenir.The CurrentCulture and CurrentUICulture properties map to the first value in the Windows.ApplicationModel.Resources.Core.ResourceManager.DefaultContext.Languages collection.
.NET Framework ve .NET Core uygulamalarında, geçerli kültür iş parçacığı başına ayardır ve CurrentCulture özelliği yalnızca geçerli iş parçacığının kültürünü yansıtır.In .NET Framework and .NET Core apps, the current culture is a per-thread setting, and the CurrentCulture property reflects the culture of the current thread only. UWP uygulamalarında geçerli kültür, genel bir ayar olan Windows. ApplicationModel. resources. Core. ResourceManager. DefaultContext. Languages özelliğine eşlenir.In UWP apps, the current culture maps to the Windows.ApplicationModel.Resources.Core.ResourceManager.DefaultContext.Languages property, which is a global setting. CurrentCulture özelliğinin ayarlanması tüm uygulamanın kültürünü değiştirir; Kültür, iş parçacığı başına temelinde ayarlanamaz.Setting the CurrentCulture property changes the culture of the entire app; culture cannot be set on a per-thread basis.