Dot-Net

比較兩個 CultureInfo 實例的最佳方法是什麼?

  • July 22, 2019

背景:

我有一個組件問題,每次呼叫它的特定方法後,它都會將目前執行緒文化更改為“en-US”。在我的過程中進一步導致問題,例如數據訪問層不再工作,因為 SqlParameter 的 CultureInfo 也更改為“en-US”,因此不能再將給定的字元串解析為 DateTime SqlValue。

可能的解決方案:

因此,想法是在之前備份執行緒目前文化,然後在呼叫更改目前執行緒文化的特定方法之後將其恢復。首先恢復文化時,我會檢查文化是否發生了變化。

問題/問題:

我可以比較備份CultureInfo.Name的,Thread.CurrentThread.CurrentCulture.Name但我也可以使用.Equals()CultureInfo 實例的方法。比較兩個 CultureInfo 實例的更好方法是什麼?是否有第三個/更好的解決方案?

您應該使用(因為它為比較 CultureInfo 實例而重載)

bool result2 = cultureInfo1.Equals(cultureInfo2); 

如本部落格所示:http ://www.toolheaven.net/post/2010/07/02/Beware-when-comparing-CultureInfo-instances.aspx

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