这怎么可能?(这取自 VS2008 中的即时窗口)
?string.Compare("-", "+")
-1
?string.Compare("-0", "+0")
1
这怎么可能?(这取自 VS2008 中的即时窗口)
?string.Compare("-", "+")
-1
?string.Compare("-0", "+0")
1
从关于String.Compare的评论(强调我的):
比较使用当前文化来获取特定于文化的信息,例如大小写规则和单个字符的字母顺序。例如,文化可以指定某些字符组合被视为单个字符,或者以特定方式比较大写和小写字符,或者字符的排序顺序取决于它前面或后面的字符。
C#手册写道:
比较使用当前文化来获取特定于文化的信息,例如大小写规则和单个字符的字母顺序。例如,文化可以指定某些字符组合被视为单个字符,或以特定方式比较大小写字符,或者字符的排序顺序取决于其前面或后面的字符。
使用单词排序规则进行比较。有关单词、字符串和序数排序的更多信息,请参阅 System.Globalization.CompareOptions。