在一个可能在非美国英语环境中使用的WinForms应用程序中,我有一个String.Equals(strA,strB)方法,它失败了,因为我需要做一个案例 - 不敏感的比较,但是defdault是比较是区分大小写的。现在要解决这个问题,你建议哪个更好?
感谢。
答案 0 :(得分:0)
使用CurrentCultureIgnoreCase
。 Ordinal
比较不符合文化使用的字母顺序。
但当然这取决于你想要完成的事情。如果你想做一些忽视用户文化的事情,当然还有其他可能性,包括使用InvariantCulture
。
添加:即使您没有排序/订购但只检查“相等”与“不相等”,OrdinalIgnoreCase
和CurrentCultureIgnoreCase
之间可能存在差异。例如,对于序数比较,"istanbul"
和"Istanbul"
是相等的,直到大小写为止。但是,对于土耳其文化,它们可能不等同,因为'i'
的大写版本不是'I'
而是'İ'
。所以这个城市将是"İstanbul"
。