这篇文章主要介绍了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
)
参数:
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));
}
}
}
总结
本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注得得之家的更多内容!
本文标题为:C#的字符串比较
基础教程推荐
- C#控制台实现飞行棋小游戏 2023-04-22
- C# 调用WebService的方法 2023-03-09
- 一个读写csv文件的C#类 2022-11-06
- C# List实现行转列的通用方案 2022-11-02
- C#类和结构详解 2023-05-30
- unity实现动态排行榜 2023-04-27
- linux – 如何在Debian Jessie中安装dotnet core sdk 2023-09-26
- C# windows语音识别与朗读实例 2023-04-27
- winform把Office转成PDF文件 2023-06-14
- ZooKeeper的安装及部署教程 2023-01-22