我有一个关于字符串比较与字符比较的问题。
字符>
和0
(零)相应地具有以下十进制62
值48
。
当我比较以下代码中的两个字符时,我得到了值True
(这是正确的)
Console.WriteLine('>' > '0');
当我比较以下代码中的两个单字符字符串时,我得到的值-1
表明“>”小于“0”(默认文化是英语)
Console.WriteLine(string.Compare(">", "0"));
而以下代码中“3”和“1”(51
和49
代码值)的比较返回1
(如预期的那样)
Console.WriteLine(string.Compare("3", "1"));
此外,string.Compare(string str1, string str2)
文档说:
比较使用当前文化来获取特定于文化的信息,例如大小写规则和单个字符的字母顺序
您能否解释(或提供对某些文档的参考)如何实现字符串比较,例如如何计算单个字符的字母顺序等?