日期:2014-05-18  浏览次数:20710 次

关于字符串比较的问题。
string   a   =   "hello   world! ";
string   b   =   "HELLO   WORLD! ";
int   i   =   string.Compare(a,b);
Console.WriteLine( "the   return   value   of   compare   is   {0} ",   i);

字符串的比较不是按ascll码么?
h是   104
H   是72
为什么结果是-1呢?


------解决方案--------------------
该比较使用当前区域性设置获取区域性特定的信息,如大小写规则和各个字符的字母顺序。例如,区域性设置可以指定将某些字符的组合视为单个字符,或者用特殊方法比较大写和小写字符,或者字符的排列顺序取决于它前面或后面的字符。

使用字排序规则执行比较。有关字、字符串和顺序排序的更多信息,请参见 System.Globalization.CompareOptions。