背景:
我有一个组件有问题,每次调用它的特定方法后,它都会将当前线程文化更改为“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
关于.net - 比较两个 CultureInfo 实例的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24413077/