C#比较字符串(4种方法)
在 C# 中,对字符串值进行比较时,可以使用关系运算符“==”实现。
例如,使用关系运算符比较两个字符串的值是否相等,代码如下。
除了关系运算符“==”,在 C# 中常见的比较字符串的方法还有 Compare、CompareTo 和 Equals 等方法,这些方法都归属于 String 类。
例如,声明两个字符串,然后使用 Compare 方法比较两个字符串是否相等,代码如下。
例如,网站的登录用户名和密码分别是 mr 和 mrsoft,编程验证用户输入的用户名和密码是否正确,代码如下。
输入的用户名和密码正确,结果为:
例如,使用关系运算符比较两个字符串的值是否相等,代码如下。
string str1 = "mingrikeji"; string str2 = "mingrikeji"; Console.WriteLine((str1 == str2));上面代码的输出结果为 True。
除了关系运算符“==”,在 C# 中常见的比较字符串的方法还有 Compare、CompareTo 和 Equals 等方法,这些方法都归属于 String 类。
C# Compare方法
Compare 方法用来比较两个字符串是否相等,它有多个重载方法,其中最常用的两个方法如下。int compare(string strA,string strB) int Compare(string strA,string strB,bool ignoreCase)
- strA 和 strB:代表要比较的两个字符串。
- ignoreCase:是一个布尔类型的参数,如果这个参数的值是 true,那么在比较字符串时就忽略大小写的差别。
Compare 方法是一个静态方法,所以在使用时可以直接引用。
例如,声明两个字符串,然后使用 Compare 方法比较两个字符串是否相等,代码如下。
string Str1 = "华为P30"; //声明字符串Str1 string Str2 = "华为P30 Pro"; //声明字符串Str2 //输出字符串Str1与Str2比较后的返回值 Console.WriteLine(String.Compare(Str1, Str2)); //输出字符串Str1与Str1比较后的返回值 Console.WriteLine(String.Compare(Str1, Str1)); //输出字符串Str2与Str1比较后的返回值 Console.WriteLine(String.Compare(Str2, Str1));程序运行结果如下:
-1
0
1
C# CompareTo方法
CompareTo 方法与 Compare 方法相似,都可以比较两个字符串是否相等,不同的是 CompareTo 方法将实例对象本身与指定的字符串做比较,其语法格式如下。public int CompareTo (string strB)例如,对字符串stra和字符串strb进行比较,代码如下。
stra.CompareTo(strb)如果 stra 与 strb 相等,则返回 0;如果 stra 大于 strb,则返回 1;否则返回 -1。
C# Equals方法
Equals方法主要用于比较两个字符串是否相同,如果相同则返回值是 True,否则为 False,其常用的两种方式的语法格式如下。public bool Equals (string value) public static bool Equals (string a,string b)
- value:与实例比较的字符串。
- a 和 b:要进行比较的两个字符串。
例如,网站的登录用户名和密码分别是 mr 和 mrsoft,编程验证用户输入的用户名和密码是否正确,代码如下。
using System; class Program { static void Main() { // 假设的正确的用户名和密码 string correctUsername = "mr"; string correctPassword = "mrsoft"; // 提示用户输入用户名 Console.Write("请输入用户名: "); string inputUsername = Console.ReadLine(); // 提示用户输入密码 Console.Write("请输入密码: "); string inputPassword = Console.ReadLine(); // 验证用户名和密码是否正确 bool isUsernameCorrect = inputUsername.Equals(correctUsername, StringComparison.OrdinalIgnoreCase); bool isPasswordCorrect = inputPassword.Equals(correctPassword, StringComparison.Ordinal); // 输出验证结果 if (isUsernameCorrect && isPasswordCorrect) { Console.WriteLine("用户名和密码正确,登录成功!"); } else { Console.WriteLine("用户名或密码错误,登录失败!"); } } }运行程序,输入的用户名和密码正确,结果为:
请输入用户名: mr
请输入密码: mrsoft
用户名和密码正确,登录成功!
输入的用户名和密码正确,结果为:
请输入用户名: mr
请输入密码: mr
用户名或密码错误,登录失败!