在一个也可以用于非美国英语环境的WinForms应用程序中,我有一个String.Equals(strA,strB)方法,它失败了,因为我需要做一个不区分大小写的比较,但是通过防御,它是区分大小写的。现在要解决这个问题,你推荐什么更好?
谢谢。
发布于 2012-11-05 21:46:32
使用CurrentCultureIgnoreCase。Ordinal比较不尊重区域性使用的字母顺序。
当然,这取决于你想要实现什么。如果您想要做一些忽略用户文化的事情,当然还有其他可能性,包括使用InvariantCulture。
添加:--即使您不是排序/排序,而是只检查“相等”还是“不相等”,OrdinalIgnoreCase和CurrentCultureIgnoreCase可能有区别。例如,对于序数比较,"istanbul"和"Istanbul"是相等的,直到大小写。然而,在土耳其文化中,它们可能并不等同,因为'i'的大写版本不是'I',而是'İ'。所以这座城市将是"İstanbul"。
https://stackoverflow.com/questions/13240880
复制相似问题