c#中字符串的比较

概要:本文所指字符串比较并非长度比较。1.c#字符串比较法则。2.部分c#字符串的比较方法

c#字符串比较法则

  • c#语言中使用一些方法对俩个字符串进行比较时,不是比较字符串的长度,判断两字符串的大小,主要遵循的法则是按照字典排序先后而进行比较。
  • 比较两个字符串时,会将其每个字符进行逐个比较,如若相同则比较下一个,直到出现不同的字符或遇到\0为止。
  • 比较英文字符串时所遵循,在字典中排序在后的单词大于在前的单词。
  • 同样比较中文字符串时,在字典中排序靠后的单个汉字要大于靠前的汉字。

c#字符串的比较方法

  1. 使用比较运算符‘==’来比较两个字符串是否相等,若相等则返回True,否则返回False
  2. 使用方法compare,该方法是string类所提供的,因为其是一个静态方法,所以使用时可以直接引用。它有很多种重载方法,其中最常见的两种如下

Int compare(string str1,string str2);
Int Compare(string str1,string str2,bool Capitalization);
str1,str2代表比较的两个字符串,Capitalization代表一个布尔类型参数,若其的值为true,则比较时忽略大小写差别。
若str1大于str2则返回1,相等返回0,小于返回-1。

  1. 使用方法CompareTo方法,该方法与compare很相似,不同的是CompareTo是以实例对象本身与指定的字符串作比较。具体使用方法如下

str1.CompareTo(str2)
其中str1代表实例对象,str2代表指定字符串
若str1大于str2则返回1,相等返回0,小于返回-1。

  1. 使用方法Equals,该方法不同于上面的方法,它与‘==’比较相似,仅可比较两个字符串是否相等,若相等返回True,否则返回False。具体语法方式如下

public bool Equals(string str1);
str1代表与实例相比的字符串。
public static bool Equals(string str1,string str2);
str1和str2代表两个相比的字符串。

下面举例子来具体化以上内容
using System;

namespace 练习
{
    class Program 
    {
        static void Main(string[] args)
        {
            string str1 = "代码";                             //实例化一个字符串赋值为 代码
            string str2 = "代码";                             //实例化一个字符串赋值为 代嘛
            string str3 = "code";                             //实例化一个字符串赋值为 code
            string str4 = "coce";                             //实例化一个字符串赋值为 coce
            Console.WriteLine(str1 == str2);                  //比较str1与str2是否相等
            Console.WriteLine(str3 == str2);                  //比较str3与str4是否相等
            Console.WriteLine(string.Compare(str3, str4));    //比较str3与str4大小
            Console.WriteLine(string.Compare(str4, str3));    //比较str4与str3大小
            Console.WriteLine(string.Compare(str3, str3));    //比较str3与str3大小
            Console.WriteLine(str3.CompareTo(str4));          //比较str3与str4大小
            Console.WriteLine(str4.CompareTo(str3));          //比较str4与str3大小
            Console.WriteLine(str4.Equals(str3));             //比较str4与str3是否相等
            Console.WriteLine(string.Equals(str1, str2));     //比较str1与str2是否相等
        }
    }
}

程序运行结果如下
示例程序的运行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值