C# CompareTo 和 String.Compare

时间:2021-12-14 03:55:09

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. */ } } }