簡體   English   中英

ToString()默認CultureInfo

[英]ToString() default CultureInfo

我想我理解CultureInfo的用法。

如果我做的很簡單:

const int a = 5;
string b = a.ToString();

它等於:

const int a = 5;
string b = a.ToString(CultureInfo.InvariantCulture);

換句話說,ToString()默認使用InvariantCultureCurrentCulture嗎?

如果您未指定文化, ToString將使用CurrentCulture ,而不是InvariantCulture

未指定時,ToString()使用CurrentCulture

請參閱: http//msdn.microsoft.com/en-us/library/6t7dwaa5(v = vs.85).aspx

“返回值的格式為通用數字格式說明符(”G“)和當前文化的NumberFormatInfo。”

所有內置類和數值類型的ToString實現默認使用CultureInfo.CurrentCulture文化 ,即當前線程使用的文化。

這意味着當前文化(以及因此您的字符串格式化和解析功能)將因系統而異。 在我看來,這是一個設計錯誤,它在過去曾經被人咬過。 應該默認為InvariantCulture並在系統間提供相同的結果,但不幸的是它沒有。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM