我有一個有趣的情況,語言環境設置與我的C#應用程序混淆,因爲我沒有意識到像Double.Parse這樣的方法不會將「1000」轉換爲1000,但由於編號格式不同,請做一些意想不到的事情。更改應用程序的語言環境而不更改Windows語言環境
我的問題的一個解決方案是使用類似double d = double.parse("1000", new CultureInfo("en-US"));
的東西。目前,我沒有通過CultureInfo。然而,我不知道是否可能在啓動時影響的區域設置,而僅僅是我的應用程序。
我發現了一個article on MSDN,說我可以用下面的代碼實現這一點:
using System.Threading;
using System.Globalization;
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
不過,這並不表示工作線程是否從主線程產生也將繼承父的文化。
我想這是不是這樣,在.NET 4.5有顯然是一個新CultureInfo.DefaultThreadCurrentCulture
屬性指定用於在應用程序域的所有線程的文化,但沒有像這樣在.NET 4.0中什麼。
任何人都可以推薦一個很好的解決方案,這個地區的問題?
是的,我已經證實,並實施修復,謝謝! – Dave
如果它解決了您的問題,請將其標記爲答案。 –