Arn*_*nab 7 c# string-comparison
我正在使用C#.当我比较两个char值时,它向我发送正确的输出,比如,
'-'.CompareTo('!') //Its sending me positive value 12
Run Code Online (Sandbox Code Playgroud)
意思是' - '>'!' 是真的
但是当我比较两个相同值的字符串时,它发送给我不同的结果
"-".CompareTo("!") //Its sending me negative value -1
Run Code Online (Sandbox Code Playgroud)
意思是" - ">"!" 是假的
谁能解释一下为什么会这样做?这两种情况都不应该是"真的"吗?
String的Compare方法是特定于文化的.这就是为什么你得到不同的结果.string.CompareOrdinal而是使用,这是逐字节比较.
var v = '-'.CompareTo('!');//12
var s = string.CompareOrdinal("-", "!");//12
Run Code Online (Sandbox Code Playgroud)