使用`CultureInfo.GetCultureInfo`检索的`CultureInfo`对象的身份比较

时间:2014-06-26 16:20:27

标签: c# .net locale cultureinfo culture

使用身份运算符(CultureInfo)比较CultureInfo.GetCultureInfo检索到的==对象是否总是安全的?

换句话说,缓存是否保证始终返回相同的对象,或者它是否可能删除条目并在稍后的某个时间点将它们重新创建为新对象?

请注意,overloads的文档在这方面没有任何帮助,替代方案当然是使用Object.Equals方法。

1 个答案:

答案 0 :(得分:1)

没有

sourceprivate helper method中有关于重载的注释:

// There is a race condition in this code with the side effect that the second thread's value
// clobbers the first in the dictionary. This is an acceptable ---- since the CultureInfo objects
// are content equal (but not reference equal). Since we make no guarantees there, this ---- is
// acceptable.

很有趣,他们觉得有必要审查最有可能是“黑客”这个词。