比较两个CultureInfo实例的最佳方法是什么?

时间:2014-06-25 15:41:08

标签: .net cultureinfo culture

背景:

我遇到组件问题,每次调用特定方法后,都会将当前线程文化更改为“en-US”。进一步在我的过程中导致问题,例如数据访问层不再起作用,因为SqlParameter的CultureInfo也变为“en-US”,因此不能再将一个给定的字符串解析为DateTime SqlValue。

可能的解决方案:

因此,我们的想法是先备份当前文化的线程,然后在调用特定方法后恢复它,这会改变当前的线程文化。在恢复文化时,我会检查文化是否完全改变了。

问题/问题:

我可以将备份的CultureInfo.NameThread.CurrentThread.CurrentCulture.Name进行比较,但我也可以使用CultureInfo实例的.Equals()方法。哪个是比较两个CultureInfo实例的更好方法?可能有第三种/更好的解决方案吗?

1 个答案:

答案 0 :(得分:12)

您应该使用(因为它比较了CultureInfo实例而重载)

bool result2 = cultureInfo1.Equals(cultureInfo2); 

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