C# CompareTo 和 String.Compare

时间:2024-04-01 11:07:45
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections; namespace Test1
{
class Program
{
static void Main(string[] args)
{ string s1 = "abc";
string s2 = "abc";
string s3 = "abcdfg";
string s4 = "1bcdfg";
string s5 = "cdfg";
Console.WriteLine(s1.CompareTo(s2));
Console.WriteLine(s1.CompareTo(s3));
Console.WriteLine(s1.CompareTo(s4));
Console.WriteLine(s1.CompareTo(s5)); //String.Compare同上,F12可以看到它们继承与String。 //string s1 = "abc";
//string s2 = "abc";
//string s3 = "abcdfg";
//string s4 = "1bcdfg";
//string s5 = "cdfg";
//Console.WriteLine(String.Compare(s1, s2));
//Console.WriteLine(String.Compare(s1, s3));
//Console.WriteLine(String.Compare(s1, s4));
//Console.WriteLine(String.Compare(s1, s5)); Console.ReadKey(); /*
C#中compareTo()的返回值是-1、0、1,
先比较两者首字符的大小(按ASCII码顺序)。
一、s1首字符和参数s2的首字符不等:
1、如果s1首字符的ASCII码大于s2首字符的ASCII码,则输出1;
2、如果s1首字符的ASCII码小于s2首字符的ASCII码,则输出-1;
结束。
二、如果s1首字符和参数s2的首字符相等,则以s1第二个字符和参数s2的第二个字符做比较,以此类推。
直到比较的字符或被比较的字符中有一方比较完了。
1、字符串位数多的,输出1;
2、字符串位数少的,输出-1.
3、两者所有字符串完全相同,输出0. */
}
}
}