我需要通过App.Config文件设置我的应用程序文化,以便“pt-BR”自动用于解析日期,而无需为每个操作手动通知文化。
据我所知,有一个globalization
部分可以在Web.Config文件的system.web
部分内定义,但我正在运行一个控制台应用程序,我无法想象这个。
有什么想法吗?
答案 0 :(得分:24)
我不知道从App.config设置它的内置方法,但您可以在App.config中定义一个键,如下所示
<configuration>
<appSettings>
<add key="DefaultCulture" value="pt-BR" />
</appSettings>
</configuration>
并在您的应用程序中读取该值并设置文化
CultureInfo culture = new CultureInfo(ConfigurationManager.AppSettings["DefaultCulture"]);
Thread.CurrentThread.CurrentCulture = culture;
Thread.CurrentThread.CurrentUICulture = culture;
另外,正如@Ilya所提到的,从.NET 4.5开始,你可以设置一次默认文化,而不是每个线程:
CultureInfo.DefaultThreadCurrentCulture = culture
CultureInfo.DefaultThreadUICurrentCulture = culture
答案 1 :(得分:7)
从表格.Net 4.5开始,可以设置默认的线程文化,因此不需要为每个线程修复它:
CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("pt-BR");
CultureInfo.DefaultThreadCurrentUICulture = new CultureInfo("pt-BR");
我还没有找到与web.config
globalization
部分匹配的配置。
答案 2 :(得分:-3)
使用System.Threading;
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(“bn-BD”);
//对于孟加拉国。我在每个页面表单加载事件
上使用此行