溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C#字符串之間的區(qū)別

發(fā)布時間:2021-07-08 11:45:47 來源:億速云 閱讀:149 作者:chen 欄目:開發(fā)技術(shù)

這篇文章主要介紹“C#字符串之間的區(qū)別”,在日常操作中,相信很多人在C#字符串之間的區(qū)別問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C#字符串之間的區(qū)別”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

目錄
  • 一、函數(shù)方法

  • 二、Compare方法

  • 三、CompareTo方法

  • 四、Equals方法

  • 五、CompareOrdinal方法


ASCII碼-百度百科

微軟官方C#函數(shù)文檔

一、函數(shù)方法

函數(shù)方法返回值
string.Compare(字符串1,字符串2)相等時返回0,前者較大時返回1,后者較大時返回-1
string.CompareOrdinal(字符串1, 字符串2)相等時返回0,否則返回前者減去后者的ASCII碼值
字符串1.CompareTo(字符串2)相等時返回0,前者較大時返回1,后者較大時返回-1
字符串1.Equals(字符串2)相等時返回True,否則返回False

二、Compare方法

string.Compare(str1, str2)

參數(shù): str1str2為兩個要比較的字符串

返回值:如果兩者相等返回0,如果str1 > str2返回1,如果str1 < str2返回-1

注意:比較字符串并不是比較字符串的長度,而是從首字符開始逐個比較字符的大小,如果已經(jīng)分出大小則結(jié)束比較,如果相等則繼續(xù)比較下一個字符,直到分出大小或到達字符串尾。

C#字符串之間的區(qū)別

using System;
namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            string str1, str2;
            /*
            樣例1(str1 < str2):因為str1的第一個字符為A比B小,所以結(jié)果會直接返回-1,不對之后的值進行比較
            */
            str1 = "ABC";
            str2 = "B";
            Console.WriteLine("樣例1:{0}",string.Compare(str1,str2));
            /*
            樣例2(str1 > str2):因為str2僅有一個字符A,在比較完第一個字符后str1還有多余的字符,結(jié)果會返回1
            */
            str1 = "ABC";
            str2 = "A";
            Console.WriteLine("樣例2:{0}", string.Compare(str1, str2));
            /*
            樣例3(str1 < str2):在比較時不是比較ASCII碼,比較時默認小寫字母小于大寫字母
            */
            str1 = "a";
            str2 = "A";
            Console.WriteLine("樣例3:{0}", string.Compare(str1, str2));
        }
    }
}

三、CompareTo方法

str1.CompareTo(str2)

參數(shù): str1str2為兩個要比較的字符串

返回值:如果兩者相等返回0,如果str1 > str2返回1,如果str1 < str2返回-1

注意: CompareTo方法和Compare方法類似,CompareTo()方法以實例對象本身和目標字符串進行比較。比較字符串并不是比較字符串的長度,而是從首字符開始逐個比較字符的大小,如果已經(jīng)分出大小則結(jié)束比較,如果相等則繼續(xù)比較下一個字符,直到分出大小或到達字符串尾。

C#字符串之間的區(qū)別

using System;
namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            string str1, str2;
            /*
            樣例1(str1 < str2):因為str1的第一個字符為A比B小,所以結(jié)果會直接返回-1,不對之后的值進行比較
            */
            str1 = "ABC";
            str2 = "B";
            Console.WriteLine("樣例1:{0}",str1.CompareTo(str2));
            /*
            樣例2(str1 > str2):因為str2僅有一個字符A,在比較完第一個字符后str1還有多余的字符,結(jié)果會返回1
            */
            str1 = "ABC";
            str2 = "A";
            Console.WriteLine("樣例2:{0}", str1.CompareTo(str2));
            /*
            樣例3(str1 < str2):在比較時不是比較ASCII碼,比較時默認小寫字母小于大寫字母
            */
            str1 = "a";
            str2 = "A";
            Console.WriteLine("樣例3:{0}", str1.CompareTo(str2));
        }
    }
}

四、Equals方法

str1.Equals(str2)

參數(shù): str1str2為兩個要比較的字符串

返回值:如果兩者相等返回True,否則返回False

C#字符串之間的區(qū)別

using System;
namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            string str1, str2;
            /*
            樣例1(str1 == str2):相等時直接返回True
            */
            str1 = "ABC";
            str2 = "ABC";
            Console.WriteLine("樣例1:{0}",str1.Equals(str2));
            /*
            樣例2(str1 != str2):不相等時返回False
            */
            str1 = "ABC";
            str2 = "ACB";
            Console.WriteLine("樣例2:{0}", str1.Equals(str2));
        }
    }
}

五、CompareOrdinal方法

string.CompareOrdinal(str1, str2)

參數(shù): str1str2為兩個要比較的字符串

返回值:如果兩者相等返回0,否則返回str1減去str2兩者ASCII碼的差值

C#字符串之間的區(qū)別

using System;
namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            string str1, str2;
            /*
            樣例1(str1 == str2):相等時直接返回0
            */
            str1 = "ABC";
            str2 = "ABC";
            Console.WriteLine("樣例1:{0}",string.CompareOrdinal(str1,str2));
            /*
            樣例2(str1 > str2):B的ASCII碼為66,A的ASCII碼為65, B減去A的ASCII碼值為1
            */
            str1 = "B";
            str2 = "A";
            Console.WriteLine("樣例2:{0}", string.CompareOrdinal(str1,str2));
            /*
            樣例3(str1 > str2):a的ASCII碼為97,A的ASCII碼為65, a減去A的ASCII碼值為32
            */
            str1 = "a";
            str2 = "A";
            Console.WriteLine("樣例3:{0}", string.CompareOrdinal(str1, str2));
            /*
            樣例4(str1 > str2):如果含有多個字符且兩者不相等時,返回的是兩個字符串的首字符ASCII碼的差值,即32
            */
            str1 = "abcd";
            str2 = "ABCD";
            Console.WriteLine("樣例4:{0}", string.CompareOrdinal(str1, str2));
        }
    }
}

到此,關(guān)于“C#字符串之間的區(qū)別”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI