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

标签 .net cultureinfo culture

背景:

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

可能的解决方案:

所以这个想法是在之前备份线程当前文化,并在调用改变当前线程文化的特定方法之后恢复它。在首先恢复文化时,我会检查文化是否发生了变化。

问题/问题:

我可以比较备份 CultureInfo.NameThread.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/

相关文章:

c# - 在屏幕外(或隐藏)渲染网络浏览器控件

c# - .net-4.6 中的异步 Thread.CurrentThread.CurrentCulture

c# - 获取本地化文化中文化名称的显示名称

ip-address - 获取带有国家/地区代码的文化信息

c# - 为什么 Regex IsMatch() 挂起

.net - 从 native 代码调用的 C++/CLI 库加载其他 .NET 库

c# - DateTime.Now.DayOfWeek.ToString() 与 CultureInfo

c# - 你能像在 .NET 中一样在 javascript 中获取文化信息字符串吗?

visual-studio - 无法在 Visual Studio 2017 中更改程序集的默认语言

c# - 如何使用 MongoDB 部署 C# .net 应用程序