CultureInfo.CurrentCulture Свойство

Определение

Получает или задает объект CultureInfo, который представляет язык и региональные параметры, используемые текущим потоком.Gets or sets the CultureInfo object that represents the culture used by the current thread.

public:
 static property System::Globalization::CultureInfo ^ CurrentCulture { System::Globalization::CultureInfo ^ get(); };
public static System.Globalization.CultureInfo CurrentCulture { get; }
member this.CurrentCulture : System.Globalization.CultureInfo
Public Shared ReadOnly Property CurrentCulture As CultureInfo

Значение свойства

Объект, представляющий язык и региональные параметры, используемые текущим потоком.An object that represents the culture used by the current thread.

Исключения

Для свойства задано значение null.The property is set to null.

Примеры

В следующем примере показано, как изменить CurrentCulture и CurrentUICulture текущего потока.The following example demonstrates how to change the CurrentCulture and CurrentUICulture of the current thread.

using namespace System;
using namespace System::Globalization;
using namespace System::Threading;

int main()
{
   // Display the name of the current thread culture.
   Console::WriteLine("CurrentCulture is {0}.", CultureInfo::CurrentCulture->Name);
   
   // Change the current culture to th-TH.
   CultureInfo::CurrentCulture = gcnew CultureInfo("th-TH",false);
   Console::WriteLine("CurrentCulture is now {0}.", CultureInfo::CurrentCulture->Name);
   
   // Displays the name of the CurrentUICulture of the current thread.
   Console::WriteLine("CurrentUICulture is {0}.", CultureInfo::CurrentCulture->Name);
   
   // Changes the CurrentUICulture of the current thread to ja-JP.
   CultureInfo::CurrentUICulture = gcnew CultureInfo("ja-JP",false);
   Console::WriteLine("CurrentUICulture is now {0}.", CultureInfo::CurrentCulture->Name);
}
// The example displays the following output:
//       CurrentCulture is en-US.
//       CurrentCulture is now th-TH.
//       CurrentUICulture is en-US.
//       CurrentUICulture is now ja-JP.
using System;
using System.Globalization;
using System.Threading;

public class Example
{
   public static void Main()  
   {
      // Display the name of the current thread culture.
      Console.WriteLine("CurrentCulture is {0}.", CultureInfo.CurrentCulture.Name);

      // Change the current culture to th-TH.
      CultureInfo.CurrentCulture = new CultureInfo("th-TH", false);
      Console.WriteLine("CurrentCulture is now {0}.", CultureInfo.CurrentCulture.Name);

      // Display the name of the current UI culture.
      Console.WriteLine("CurrentUICulture is {0}.", CultureInfo.CurrentUICulture.Name);

      // Change the current UI culture to ja-JP.
      CultureInfo.CurrentUICulture = new CultureInfo( "ja-JP", false );
      Console.WriteLine("CurrentUICulture is now {0}.", CultureInfo.CurrentUICulture.Name);
   }
}
// The example displays the following output:
//       CurrentCulture is en-US.
//       CurrentCulture is now th-TH.
//       CurrentUICulture is en-US.
//       CurrentUICulture is now ja-JP.
Imports System.Globalization
Imports System.Threading

Public Module Example
   Public Sub Main()

      ' Display the name of the current thread culture.
      Console.WriteLine("CurrentCulture is {0}.", CultureInfo.CurrentCulture.Name)

      ' Change the current culture to th-TH.
      CultureInfo.CurrentCulture = New CultureInfo("th-TH", False)
      Console.WriteLine("CurrentCulture is now {0}.", CultureInfo.CurrentCulture.Name)

      ' Display the name of the current UI culture.
      Console.WriteLine("CurrentUICulture is {0}.", CultureInfo.CurrentUICulture.Name)

      ' Change the current UI culture to ja-JP.
      CultureInfo.CurrentUICulture = New CultureInfo("ja-JP", False)
      Console.WriteLine("CurrentUICulture is now {0}.", CultureInfo.CurrentUICulture.Name)
   End Sub 
End Module
' The example displays the following output:
'       CurrentCulture is en-US.
'       CurrentCulture is now th-TH.
'       CurrentUICulture is en-US.
'       CurrentUICulture is now ja-JP.

Комментарии

Объект CultureInfo, возвращаемый этим свойством и связанными с ним объектами, определяет формат по умолчанию для дат, времени, чисел, значений валют, порядка сортировки текста, соглашений о регистре и сравнения строк.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.

Текущий язык и региональные параметры — это свойство выполняющегося потока.The current culture is a property of the executing thread. Получение значения свойства CultureInfo.CurrentCulture является более производительным аналогом получения объекта CultureInfo, возвращаемого свойством Thread.CurrentThread.CurrentCulture.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 и более ранних версиях свойство CurrentCulture доступно только для чтения. Это значит, что вы можете получить значение свойства, но не можете его задать.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. Чтобы изменить текущий язык и региональные параметры, необходимо назначить объект CultureInfo, представляющий новый язык и региональные параметры, в свойство Thread.CurrentThread.CurrentCulture.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.6свойство CurrentCulture доступно для чтения и записи; можно задать и получить значение свойства.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. Если задать для свойства значение CultureInfo объект, представляющий новый язык и региональные параметры, значение свойства Thread.CurrentThread.CurrentCulture также изменится.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.

СодержаниеIn this section:

Как определяется культура потока How a Thread's Culture Is Determined
Получение текущего языка и региональных параметров Getting the Current Culture
Явное задание свойства CurrentCulture Explicitly Setting the CurrentCulture Property
Текущий язык и региональные параметры и пользовательские переопределения The Current Culture and User Overrides
Культура и приложения WindowsCulture and Windows Apps

Определение языка и региональных параметров потокаHow a Thread's Culture Is Determined

При запуске потока его язык и региональные параметры изначально определяются следующим образом:When a thread is started, its culture is initially determined as follows:

  • При извлечении языка и региональных параметров, заданных свойством DefaultThreadCurrentCulture в домене приложения, в котором выполняется поток, если значение свойства не null.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.

  • Если поток является потоком пула потоков, который выполняет асинхронную операцию на основе задач, а приложение предназначено для .NET Framework 4.6.NET Framework 4.6 или более поздней версии .NET Framework, его язык и региональные параметры определяются культурой вызывающего потока.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. Следующий пример изменяет текущий язык и региональные параметры на португальский (Бразилия) и запускает шесть задач, каждый из которых отображает идентификатор своего потока, идентификатор задачи и текущий язык и региональные параметры.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. Каждая из задач (и потоков) унаследовала культуру вызывающего потока.Each of the tasks (and the threads) has inherited the culture of the calling thread.

    using System;
    using System.Collections.Generic;
    using System.Globalization;
    using System.Runtime.Versioning;
    using System.Threading;
    using System.Threading.Tasks;
    
    [assembly:TargetFramework(".NETFramework,Version=v4.6")]
    
    public class Example
    {
       public static async Task Main()
       {
          var tasks = new List<Task>();
          Console.WriteLine("The current culture is {0}", 
                            Thread.CurrentThread.CurrentCulture.Name);
          Thread.CurrentThread.CurrentCulture = new CultureInfo("pt-BR");
          // Change the current culture to Portuguese (Brazil).
          Console.WriteLine("Current culture changed to {0}",
                            Thread.CurrentThread.CurrentCulture.Name);
          Console.WriteLine("Application thread is thread {0}",
                            Thread.CurrentThread.ManagedThreadId);
          // Launch six tasks and display their current culture.
          for (int ctr = 0; ctr <= 5; ctr++)
             tasks.Add(Task.Run( () => {
                                   Console.WriteLine("Culture of task {0} on thread {1} is {2}",
                                                     Task.CurrentId, 
                                                     Thread.CurrentThread.ManagedThreadId,
                                                     Thread.CurrentThread.CurrentCulture.Name);
                                } ));                     
    
          await Task.WhenAll(tasks.ToArray());
       }
    }
    // The example displays output like the following:
    //     The current culture is en-US
    //     Current culture changed to pt-BR
    //     Application thread is thread 9
    //     Culture of task 2 on thread 11 is pt-BR
    //     Culture of task 1 on thread 10 is pt-BR
    //     Culture of task 3 on thread 11 is pt-BR
    //     Culture of task 5 on thread 11 is pt-BR
    //     Culture of task 6 on thread 11 is pt-BR
    //     Culture of task 4 on thread 10 is pt-BR
    
    Imports System.Collections.Generic
    Imports System.Globalization
    Imports System.Runtime.Versioning
    Imports System.Threading
    Imports System.Threading.Tasks
    
    <assembly:TargetFramework(".NETFramework,Version=v4.6")>
    
    Module Example
       Public Sub Main()
          Dim tasks As New List(Of Task)
          Console.WriteLine("The current culture is {0}", 
                            Thread.CurrentThread.CurrentCulture.Name)
          Thread.CurrentThread.CurrentCulture = New CultureInfo("pt-BR")
          ' Change the current culture to Portuguese (Brazil).
          Console.WriteLine("Current culture changed to {0}",
                            Thread.CurrentThread.CurrentCulture.Name)
          Console.WriteLine("Application thread is thread {0}",
                            Thread.CurrentThread.ManagedThreadId)
          ' Launch six tasks and display their current culture.
          For ctr As Integer = 0 to 5
             tasks.Add(Task.Run(Sub()
                                   Console.WriteLine("Culture of task {0} on thread {1} is {2}",
                                                     Task.CurrentId, 
                                                     Thread.CurrentThread.ManagedThreadId,
                                                     Thread.CurrentThread.CurrentCulture.Name)
                                End Sub))                     
          Next
          Task.WaitAll(tasks.ToArray())
       End Sub
    End Module
    ' The example displays output like the following:
    '     The current culture is en-US
    '     Current culture changed to pt-BR
    '     Application thread is thread 9
    '     Culture of task 2 on thread 11 is pt-BR
    '     Culture of task 1 on thread 10 is pt-BR
    '     Culture of task 3 on thread 11 is pt-BR
    '     Culture of task 5 on thread 11 is pt-BR
    '     Culture of task 6 on thread 11 is pt-BR
    '     Culture of task 4 on thread 10 is pt-BR
    

    Дополнительные сведения см. в разделе "Культура и асинхронные операции на основе задач" статьи CultureInfo.For more information, see the "Culture and task-based asynchronous operations" section in the CultureInfo topic.

  • Путем вызова функции Windows GetUserDefaultLocaleName.By calling the Windows GetUserDefaultLocaleName function.

Обратите внимание, что при задании определенного языка и региональных параметров, отличающегося от языка, установленного системой, или предпочитаемого пользователем языка и региональных параметров, и ваше приложение запускает несколько потоков, текущим языком и региональными параметрами этих потоков будет язык и региональные параметры, возвращаемые GetUserDefaultLocaleName , если не назначить язык и региональные параметры свойству DefaultThreadCurrentCulture в домене приложения, в котором выполняется поток.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.

Дополнительные сведения о том, как определяется язык и региональные параметры потока, см. в разделе "Культура и потоки" на странице справочника по CultureInfo.For more information about how the culture of a thread is determined, see the "Culture and threads" section in the CultureInfo reference page.

Получение текущего языка и региональных параметровGetting the Current Culture

Свойство CultureInfo.CurrentCulture — это параметр для каждого потока; то есть каждый поток может иметь свой собственный язык и региональные параметры.The CultureInfo.CurrentCulture property is a per-thread setting; that is, each thread can have its own culture. Вы получаете язык и региональные параметры текущего потока, извлекая значение свойства CultureInfo.CurrentCulture, как показано в следующем примере.You get the culture of the current thread by retrieving the value of the CultureInfo.CurrentCulture property, as the following example illustrates.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      CultureInfo culture = CultureInfo.CurrentCulture;
      Console.WriteLine("The current culture is {0} [{1}]",
                        culture.NativeName, culture.Name);
   }
}
// The example displays output like the following:
//       The current culture is English (United States) [en-US]
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim culture As CultureInfo = CultureInfo.CurrentCulture
      Console.WriteLine("The current culture is {0} [{1}]",
                        culture.NativeName, culture.Name)
   End Sub
End Module
' The example displays output like the following:
'     The current culture is English (United States) [en-US]

Также можно получить значение языка и региональных параметров текущего потока из свойства Thread.CurrentThread.You can also retrieve the value of the current thread's culture from the Thread.CurrentThread property.

Явное задание свойства CurrentCultureExplicitly Setting the CurrentCulture Property

С .NET Framework 4.6.NET Framework 4.6для изменения языка и региональных параметров, используемых существующим потоком, свойству CultureInfo.CurrentCulture присваивается новый язык и региональные параметры.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. Если вы явно изменяете язык и региональные параметры потока таким образом, это изменение сохраняется, если поток пересекает границы домена приложения.If you explicitly change a thread's culture in this way, that change persists if the thread crosses application domain boundaries. В следующем примере язык и региональные параметры текущего потока изменяются на Нидерландский (Нидерланды).The following example changes the current thread culture to Dutch (Netherlands). Также показано, что, когда текущий поток пересекает границы домена приложения, его текущий язык и региональные параметры останутся измененными.It also shows that, when the current thread crosses application domain boundaries, its current culture remains changed.

using System;
using System.Globalization;
using System.Threading;

public class Info : MarshalByRefObject
{
   public void ShowCurrentCulture()
   {
      Console.WriteLine("Culture of {0} in application domain {1}: {2}",
                        Thread.CurrentThread.Name,
                        AppDomain.CurrentDomain.FriendlyName,
                        CultureInfo.CurrentCulture.Name);
   }
}

public class Example
{
   public static void Main()
   {
      Info inf = new Info();
      // Set the current culture to Dutch (Netherlands).
      Thread.CurrentThread.Name = "MainThread";
      CultureInfo.CurrentCulture = CultureInfo.CreateSpecificCulture("nl-NL");
      inf.ShowCurrentCulture();
      
      // Create a new application domain.
       AppDomain ad = AppDomain.CreateDomain("Domain2");
       Info inf2 = (Info) ad.CreateInstanceAndUnwrap(typeof(Info).Assembly.FullName, "Info");
       inf2.ShowCurrentCulture();                       
   }
}
// The example displays the following output:
//       Culture of MainThread in application domain ChangeCulture1.exe: nl-NL
//       Culture of MainThread in application domain Domain2: nl-NL
Imports System.Globalization
Imports System.Threading

Public Class Info : Inherits MarshalByRefObject
   Public Sub ShowCurrentCulture()
      Console.WriteLine("Culture of {0} in application domain {1}: {2}",
                        Thread.CurrentThread.Name,
                        AppDomain.CurrentDomain.FriendlyName,
                        CultureInfo.CurrentCulture.Name)
   End Sub
End Class

Module Example
   Public Sub Main()
      Dim inf As New Info()
      ' Set the current culture to Dutch (Netherlands).
      Thread.CurrentThread.Name = "MainThread"
      CultureInfo.CurrentCulture = CultureInfo.CreateSpecificCulture("nl-NL")
      inf.ShowCurrentCulture()
      
      ' Create a new application domain.
       Dim ad As AppDomain = AppDomain.CreateDomain("Domain2")
       Dim inf2 As Info = CType(ad.CreateInstanceAndUnwrap(GetType(Info).Assembly.FullName, "Info"),
                          Info)  
       inf2.ShowCurrentCulture()                       
   End Sub
End Module
' This example displays the following output:
'       Culture of MainThread in application domain Example.exe: nl-NL
'       Culture of MainThread in application domain Domain2: nl-NL

Примечание

Для изменения языка и региональных параметров с помощью свойства CultureInfo.CurrentCulture требуется разрешение SecurityPermission с установленным значением ControlThread.Changing the culture by using the CultureInfo.CurrentCulture property requires a SecurityPermission permission with the ControlThread value set. Управление потоками опасно из-за состояния безопасности, связанного с потоками.Manipulating threads is dangerous because of the security state associated with threads. Таким образом, это разрешение должно предоставляться только доверенному коду, а затем только по мере необходимости.Therefore, this permission should be given only to trustworthy code, and then only as necessary. Невозможно изменить культуру потока в частично доверяемом коде.You cannot change thread culture in semi-trusted code.

Начиная с .NET Framework 4.NET Framework 4можно явно изменить язык и региональные параметры текущего потока на конкретную культуру (например, французский (Канада)) или нейтральную культуру (например, французский).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). Если CultureInfo объект представляет нейтральный язык и региональные параметры, значения CultureInfo таких свойств, как Calendar, CompareInfo, DateTimeFormat, NumberFormatи TextInfo, соответствуют определенному языку и региональным параметрам, связанным с нейтральным языком и региональными параметрами.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. Например, главным языком и региональными параметрами для нейтрального английского языка является английский (США); главным языком и региональными параметрами для немецкого языка является немецкий (Германия).For example, the dominant culture for the English neutral culture is English (United States); the dominant culture for the German culture is German (Germany). В следующем примере показано различие в форматировании, когда текущий язык и региональные параметры заданы для определенного языка и региональных параметров, французского (Канада) и нейтрального языка и региональных параметров французский.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.

using System;
using System.Globalization;
using System.Threading;

public class Example
{
   public static void Main()
   {
      double value = 1634.92;
      CultureInfo.CurrentCulture = new CultureInfo("fr-CA");
      Console.WriteLine("Current Culture: {0}", 
                        CultureInfo.CurrentCulture.Name);
      Console.WriteLine("{0:C2}\n", value);
      
      Thread.CurrentThread.CurrentCulture = new CultureInfo("fr");
      Console.WriteLine("Current Culture: {0}", 
                        CultureInfo.CurrentCulture.Name);
      Console.WriteLine("{0:C2}", value);
   }
}
// The example displays the following output:
//       Current Culture: fr-CA
//       1 634,92 $
//       
//       Current Culture: fr
//       1 634,92 €
Imports System.Globalization
Imports System.Threading

Module Example
   Public Sub Main()
      Dim value As Double = 1634.92
      CultureInfo.CurrentCulture = New CultureInfo("fr-CA")
      Console.WriteLine("Current Culture: {0}", 
                        CultureInfo.CurrentCulture.Name)
      Console.WriteLine("{0:C2}", value)
      Console.WriteLine()
      
      Thread.CurrentThread.CurrentCulture = New CultureInfo("fr")
      Console.WriteLine("Current Culture: {0}", 
                        CultureInfo.CurrentCulture.Name)
      Console.WriteLine("{0:C2}", value)
   End Sub
End Module
' The example displays the following output:
'       Current Culture: fr-CA
'       1 634,92 $
'       
'       Current Culture: fr
'       1 634,92 €

Также можно использовать свойство CultureInfo.CurrentCulture вместе со свойством HttpRequest.UserLanguages, чтобы задать для свойства CurrentCulture приложения ASP.NET предпочитаемый язык и региональные параметры пользователя, как показано в следующем примере.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.

CultureInfo.CurrentCulture = CultureInfo.CreateSpecificCulture(Request.UserLanguages[0]);
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(Request.UserLanguages(0))

Текущий язык и региональные параметры и пользовательские переопределенияThe Current Culture and User Overrides

Windows позволяет пользователям переопределять стандартные значения свойств объекта CultureInfo и связанных с ним объектов, используя региональные и языковые параметры на панели управления.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. Объект CultureInfo, возвращаемый свойством CurrentCulture, отражает эти переопределения пользователя в следующих случаях:The CultureInfo object returned by the CurrentCulture property reflects these user overrides in the following cases:

  • Если язык и региональные параметры текущего потока задаются неявно функцией Windows GetUserDefaultLocaleName.If the current thread culture is set implicitly by the Windows GetUserDefaultLocaleName function.

  • Если язык и региональные параметры текущего потока, определенные свойством DefaultThreadCurrentCulture, соответствуют текущей культуре системы Windows.If the current thread culture defined by the DefaultThreadCurrentCulture property corresponds to the current Windows system culture.

  • Если язык и региональные параметры текущего потока заданы явно для языка и региональных параметров, возвращаемых методом CreateSpecificCulture, а этот язык и региональные параметры соответствуют текущей культуре системы Windows.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.

  • Если язык и региональные параметры текущего потока явно заданы для языка и региональных параметров, созданных конструктором CultureInfo(String), а этот язык и региональные параметры соответствуют текущей культуре системы Windows.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.

В некоторых случаях, особенно для серверных приложений, установка текущего языка и региональных параметров на CultureInfo объект, отражающий переопределяемые пользователем переопределения, может быть нежелательным.In some cases, particularly for server applications, setting the current culture to a CultureInfo object that reflects user overrides may be undesirable. Вместо этого можно задать текущий язык и региональные параметры текущего потока как объект CultureInfo, который не отражает переопределяемые пользователем переопределения следующими способами.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) со значением false аргумента useUserOverride.By calling the CultureInfo(String, Boolean) constructor with a value of false for the useUserOverride argument.

  • Путем вызова метода GetCultureInfo, который возвращает кэшированный объект CultureInfo, предназначенный только для чтения.By calling the GetCultureInfo method, which returns a cached, read-only CultureInfo object.

Текущие язык и региональные параметры и приложения UWPThe current culture and UWP apps

В приложениях универсальная платформа Windows (UWP) свойство CurrentCulture доступно для чтения и записи, точно так же, как в .NET Framework и в приложениях .NET Core. его можно использовать для получения и установки текущего языка и региональных параметров.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. Однако приложения UWP не различают текущий язык и региональные параметры пользовательского интерфейса.However, UWP apps do not distinguish between the current culture and the current UI culture. Свойства CurrentCulture и CurrentUICulture сопоставляются с первым значением в коллекции Windows. ApplicationModel. Resources. Core. ResourceManager. дефаултконтекст. Languages .The CurrentCulture and CurrentUICulture properties map to the first value in the Windows.ApplicationModel.Resources.Core.ResourceManager.DefaultContext.Languages collection.

В .NET Framework и приложениях .NET Core текущий язык и региональные параметры — это параметр для каждого потока, а свойство CurrentCulture отражает язык и региональные параметры только текущего потока.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 текущий язык и региональные параметры сопоставляются со свойством Windows. ApplicationModel. Resources. Core. ResourceManager. дефаултконтекст. Languages , которое является глобальным параметром.In UWP apps, the current culture maps to the Windows.ApplicationModel.Resources.Core.ResourceManager.DefaultContext.Languages property, which is a global setting. Установка свойства CurrentCulture изменяет язык и региональные параметры для всего приложения. Культура не может быть задана для каждого потока.Setting the CurrentCulture property changes the culture of the entire app; culture cannot be set on a per-thread basis.

Безопасность

SecurityPermission
для настройки текущего языка и региональных параметров.for setting the current culture. Связанное перечисление: ControlThreadAssociated enumeration: ControlThread

Применяется к

Дополнительно