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