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 )
参数: str1 和 str2 为两个要比较的字符串
返回值:如果两者相等返回 0 ,如果 str1 > str2 返回 1 ,如果 str1 < str2 返回 -1
注意:比较字符串并不是比较字符串的长度,而是从首字符开始逐个比较字符的大小,如果已经分出大小则结束比较,如果相等则继续比较下一个字符,直到分出大小或到达字符串尾。
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 )
参数: str1 和 str2 为两个要比较的字符串
返回值:如果两者相等返回 0 ,如果 str1 > str2 返回 1 ,如果 str1 < str2 返回 -1
注意: CompareTo 方法和 Compare 方法类似, CompareTo() 方法以实例对象本身和目标字符串进行比较。比较字符串并不是比较字符串的长度,而是从首字符开始逐个比较字符的大小,如果已经分出大小则结束比较,如果相等则继续比较下一个字符,直到分出大小或到达字符串尾。
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)
参数: str1 和 str2 为两个要比较的字符串
返回值:如果两者相等返回 True ,否则返回 False
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 )
参数: str1 和 str2 为两个要比较的字符串
返回值:如果两者相等返回 0 ,否则返回 str1 减去 str2 两者 ASCII 码的差值
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)); } } }
总结
本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注的更多内容!