String.Compare()2个字符串

时间:2016-03-28 19:57:03

标签: c#

在我学习的时候(阅读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?

为什么会发生这种情况,或者我错过了什么(搞乱)某事/某事?

1 个答案:

答案 0 :(得分:3)

它比较每个字符的顺序:H = H,E = E,L = L,O> 0。 L然后停止。所以Helo&gt; Hello只是因为l在字母表中o之前。

可在MSDN

上找到更多信息