C#字符串之间的区别

发布时间:2021-07-08 11:45:47 作者:chen
来源:亿速云 阅读:151

这篇文章主要介绍“C#字符串之间的区别”,在日常操作中,相信很多人在C#字符串之间的区别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#字符串之间的区别”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

目录

ASCII码-百度百科

微软官方C#函数文档

一、函数方法

函数方法返回值
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)

参数: str1str2为两个要比较的字符串

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

注意:比较字符串并不是比较字符串的长度,而是从首字符开始逐个比较字符的大小,如果已经分出大小则结束比较,如果相等则继续比较下一个字符,直到分出大小或到达字符串尾。

C#字符串之间的区别

using System;
namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            string str1, str2;
            /*
            样例1(str1 < str2):因为str1的第一个字符为A比B小,所以结果会直接返回-1,不对之后的值进行比较
            */
            str1 = "ABC";
            str2 = "B";
            Console.WriteLine("样例1:{0}",string.Compare(str1,str2));
            /*
            样例2(str1 > str2):因为str2仅有一个字符A,在比较完第一个字符后str1还有多余的字符,结果会返回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)

参数: str1str2为两个要比较的字符串

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

注意: CompareTo方法和Compare方法类似,CompareTo()方法以实例对象本身和目标字符串进行比较。比较字符串并不是比较字符串的长度,而是从首字符开始逐个比较字符的大小,如果已经分出大小则结束比较,如果相等则继续比较下一个字符,直到分出大小或到达字符串尾。

C#字符串之间的区别

using System;
namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            string str1, str2;
            /*
            样例1(str1 < str2):因为str1的第一个字符为A比B小,所以结果会直接返回-1,不对之后的值进行比较
            */
            str1 = "ABC";
            str2 = "B";
            Console.WriteLine("样例1:{0}",str1.CompareTo(str2));
            /*
            样例2(str1 > str2):因为str2仅有一个字符A,在比较完第一个字符后str1还有多余的字符,结果会返回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)

参数: str1str2为两个要比较的字符串

返回值:如果两者相等返回True,否则返回False

C#字符串之间的区别

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)

参数: str1str2为两个要比较的字符串

返回值:如果两者相等返回0,否则返回str1减去str2两者ASCII码的差值

C#字符串之间的区别

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));
        }
    }
}

到此,关于“C#字符串之间的区别”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

推荐阅读:
  1. 字符串之间的排序
  2. Hadoop发行版本之间的区别

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

上一篇:SpringMvc/SpringBoot如何实现HTTP通信加解密

下一篇:c#委托与事件是什么意思

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》