C#比较字符串(4种方法)
在 C# 中,对字符串值进行比较时,可以使用关系运算符“==”实现。
例如,使用关系运算符比较两个字符串的值是否相等,代码如下。
上面代码的输出结果为 True。
除了关系运算符“==”,在 C# 中常见的比较字符串的方法还有 Compare、CompareTo 和 Equals 等方法,这些方法都归属于 String 类。
例如,声明两个字符串,然后使用 Compare 方法比较两个字符串是否相等,代码如下。
程序运行结果如下:
例如,网站的登录用户名和密码分别是 mr 和 mrsoft,编程验证用户输入的用户名和密码是否正确,代码如下。
运行程序,输入的用户名和密码正确,结果为:
输入的用户名和密码正确,结果为:
例如,使用关系运算符比较两个字符串的值是否相等,代码如下。
- string str1 = "mingrikeji";
- string str2 = "mingrikeji";
- Console.WriteLine((str1 == str2));
除了关系运算符“==”,在 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
用户名或密码错误,登录失败!