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呢?
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呢?
string b = "HELLO WORLD!";
int i = string.Compare(a.ToLower(), b.ToLower());
Console.WriteLine("the return value of compare is {0}", i);
返回结果为0
String.Compare (String, String, Boolean) 比较两个指定的 String 对象,忽略或考虑它们的大小写。
Compare (string strA,string strB)
小于零 strA 小于 strB
零 strA 等于 strB。
大于零 strA 大于 strB。COPY FROM MSDN
我找到答案了:
compare 比较的是两个字符串的词法,也就是在词典里的排序,而不是ASCII码。
它的比较规则是在词典里出现在前面的单词小于出现的后面的单词
alonesword的答案最接近(msdn原话),但是没有讲明白,分数给你吧。