我想我理解CultureInfo的用法。ToString()默認CultureInfo
如果我做簡單:
const int a = 5;
string b = a.ToString();
是它等於:
const int a = 5;
string b = a.ToString(CultureInfo.InvariantCulture);
換句話說,在默認情況下使用InvariantCulture的或的CurrentCulture或同樣沒有toString()方法?
我想我理解CultureInfo的用法。ToString()默認CultureInfo
如果我做簡單:
const int a = 5;
string b = a.ToString();
是它等於:
const int a = 5;
string b = a.ToString(CultureInfo.InvariantCulture);
換句話說,在默認情況下使用InvariantCulture的或的CurrentCulture或同樣沒有toString()方法?
ToString
將使用CurrentCulture
而不是InvariantCulture
如果您不指定文化。
的ToString()使用的CurrentCulture未指定時
參見:http://msdn.microsoft.com/en-us/library/6t7dwaa5(v=vs.85).aspx
「的返回值被格式化通用數值格式 說明符(」 G「)和的NumberFormatInfo當前區域性「。
ToString
實現所有內置類和數字類型默認使用CultureInfo.CurrentCulture
culture,這是當前線程使用的文化。
這意味着當前的文化(以及因此您的字符串格式和解析功能)將從一個系統到另一個不同。在我看來,這是一個設計錯誤,並且它曾經讓人們感到困擾。它應該默認爲InvariantCulture
並在系統中給出相同的結果,但不幸的是它不。