C# CompareTo 和 String.Compare


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.

            */
        }
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM