3

这怎么可能?(这取自 VS2008 中的即时窗口)

?string.Compare("-", "+")
-1
?string.Compare("-0", "+0")
1
4

2 回答 2

8

从关于String.Compare的评论(强调我的):

比较使用当前文化来获取特定于文化的信息,例如大小写规则和单个字符的字母顺序。例如,文化可以指定某些字符组合被视为单个字符,或者以特定方式比较大写和小写字符,或者字符的排序顺序取决于它前面或后面的字符

于 2009-12-09T12:55:05.183 回答
1

C#手册写道:

比较使用当前文化来获取特定于文化的信息,例如大小写规则和单个字符的字母顺序。例如,文化可以指定某些字符组合被视为单个字符,或以特定方式比较大小写字符,或者字符的排序顺序取决于其前面或后面的字符。

使用单词排序规则进行比较。有关单词、字符串和序数排序的更多信息,请参阅 System.Globalization.CompareOptions

于 2009-12-09T12:58:04.023 回答