我在C#中很新,我在字符串比较中发现了一些我不太懂的东西.
有人可以解释一下为什么字符之间的比较给出了与下面代码中一个字符长度字符串的比较相反的结果吗?
我预计这"9" < "="将是true(因为'9'(57)的unicode代码比'='(61)的unicode代码少但是它是假的...后面的字符串的比较逻辑是什么,为什么它不同于比较字符?
码:
bool resChComp = '9' < '=';
bool resStrComp = String.Compare("9", "=") < 0;
Console.WriteLine($"\n'9' < '=' : {resChComp}, \"9\" < \"=\" : { resStrComp }");
Run Code Online (Sandbox Code Playgroud)
输出:
'9' < '=' : True, "9" < "=" : False
Run Code Online (Sandbox Code Playgroud)