Dot-Net

CultureInfo.CurrentCulture 可以為空嗎?

  • November 13, 2012

CultureInfo.CurrentCulture 可以為空嗎?

空值會使我的程序崩潰,這是我不想要的。所以我在問,為了安全起見,我需要這樣做嗎?

var culture = CultureInfo.CurrentCulture ?? CultureInfo.InvariantCulture

它絕對看起來肯定是非null

文化是執行執行緒的屬性。此只讀屬性等效於檢索該CultureInfo屬性返回的對象Thread.CurrentCulture

Thread.CurrentCulture如果您嘗試將其設置為 ,則會引發異常null,因此假設具有非null值是不變數是合乎邏輯的。

除此之外,CultureInfo.CurrentCulture給出確定其初始值的算法:

如何確定執行緒的文化

當一個執行緒啟動時,它的文化最初確定如下:

  • DefaultThreadCurrentCulture如果屬性值不是 ,則通過檢索由執行執行緒的應用程序域中的屬性指定的區域性null
  • 通過呼叫 WindowsGetUserDefaultLocaleName函式。

同樣,這並沒有打開一個null值的選項。

引用自:https://stackoverflow.com/questions/13359141