在我学习的时候(阅读Essential C#6第5版)我读到String.Compare()
方法,如果我在比较我得到的时候会说1个字符串text1
和1个字符串text2
一个数字:
// 0 if equal
// negative if text1 < text2
// positive if text1 > text2
所以当我这样做时
string text1 = "Hello";
string text2 = "Hello";
int result = string.Compare(text1, text2);
Console.Write(result); // I get 0 which means equal which is correct.
但如果我这样做:
string text1 = "Helo";
string text2 = "Hello";
int result = string.Compare(text1, text2);
Console.Write(result); // I get 1. Shouldn't i be getting -1? Doing the opposite meaning that i have text1 = "Hello" and text 2 = "Helo" produces -1 when it should produce 1 correct?
为什么会发生这种情况,或者我错过了什么(搞乱)某事/某事?
答案 0 :(得分:3)
它比较每个字符的顺序:H = H,E = E,L = L,O> 0。 L然后停止。所以Helo
&gt; Hello
只是因为l
在字母表中o
之前。
可在MSDN
上找到更多信息