Dot-Net
比較兩個 CultureInfo 實例的最佳方法是什麼?
背景:
我有一個組件問題,每次呼叫它的特定方法後,它都會將目前執行緒文化更改為“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