【发布时间】:2017-09-07 12:15:16
【问题描述】:
MSDN 在 StringComparison.OrdinalIgnoreCase 上说:
OrdinalIgnoreCase 属性返回的StringComparer 将要比较的字符串中的字符视为使用不变区域性的约定转换为大写,然后执行与语言无关的简单字节比较。 这在比较以编程方式生成的字符串或比较不区分大小写的资源(如路径和文件名)时最合适。
(https://msdn.microsoft.com/en-us/library/e6883c06(v=vs.110).aspx 和 https://msdn.microsoft.com/en-us/library/system.stringcomparer.ordinalignorecase%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396)
但是,当我尝试比较时
String.Compare("a","A", StringComparison.OrdinalIgnoreCase)
返回值是1 而不是0。
更奇怪的是:
String.Compare("1","1", StringComparison.OrdinalIgnoreCase)
虽然字符串相等,但它也返回 1。
我错过了什么?
【问题讨论】:
-
您要检查相等性还是排序字符串?
-
在我遇到这个的特定场景中检查相等性
标签: .net