Chinar blog :www.chinar.xin

String 比较函数详解


本文提供全流程,中文翻译

助力快速理解 String 字符串比较函数的区别

为初学者节省宝贵的时间,避免采坑!

Chinar —— 心分享、心创新!

我们的初衷是将一种简单的生活方式带给世人

使有限时间 具备无限可能

Chinar 教程效果:


文章目录

  • 1 Intro —— 简介
  • 2 Compare ―― 比较
  • 3 Compare ―― 比较
  • 支持
    • May Be —— 开发者,总有一天要做的事!

全文高清图片,点击即可放大观看 (很多人竟然不知道)


1 Intro —— 简介

有许多初学者,对于 String 类提供的几个比较函数都算会用。

但编程,我们不能知其然不知其所以然,这种学习态度会导致我们在细节上的把控不到位,从而生产出来的代码就可能不安全,或是效率不高。

今天我来为大家详细的介绍一下,C#提供的这几个比较之间的不同。


2 Compare ―― 比较

string.Compare

//返回值:
// 1:大于
// 0:等于
//-1:小于
static void Main(string[] args)
{string 变量1 = "abc";string 变量2 = "ABC";int 返回值1 = string.Compare(变量1, 变量2, true);                     //忽略大小写int 返回值2 = string.Compare(变量1, 变量2, StringComparison.Ordinal); //序号(二进制)排序规则 Console.WriteLine(返回值1);                                       // 0 相同Console.WriteLine(返回值2);                                       // 32 返回两者相对位置Console.ReadLine();
}

比较字符串是按照字符串中的字符一个个比较,只要一个字符不相同,那么就停止比较得出结果。
而字符的比较则是比较其Unicode值,而非ASCII码值,因为ASCII是不可能容纳下全世界这么多种语言这么多字符。
string是微软封装的一个字符串类,在内部他已经对 = = 操作符进行了重写。重写后他比较的则是两个变量的内容是否相同,重写后的 =
= 操作符内部调用的即是 equals 方法,所以输出的是true

重载中可忽略大小写

也可根据国家语言进行区分

还可根据上边说的 unicode 编码序号,将以二进制的规则进行对比,提升效率。

只需要传入不同枚举类型,即可

  摘要: 使用当前所属地区(国家语言)排序规则比较字符串。CurrentCulture = 0,摘要: 使用当前所属地区(国家语言)排序规则比较字符串。并忽略大小写,来比较字符串。CurrentCultureIgnoreCase = 1,摘要: 使用固定区域性(固定区域只与英语关联,与其他语言都不关联)比较字符串。InvariantCulture = 2,摘要: 通过使用区分区域性的排序规则、固定区域性,并忽略所比较的字符串的大小写,来比较字符串。InvariantCultureIgnoreCase = 3,摘要: 使用序号(二进制)排序规则比较字符串。 Ordinal = 4,摘要:   使用序号(二进制)排序且忽略大小写,比较字符串。 性能略低于 Ordinal
OrdinalIgnoreCase = 5

Equals方法用于方便地判定两个字符串是否相同,有两种重载形式:

public boolEquals(string)

public static boolEquals(string,string)


3 Compare ―― 比较

Equals 方法用于方便地判定两个字符串是否相同,有两种重载形式:

public boolEquals(string)

public static boolEquals(string,string)

因其属于 Object 类,所以可对任何类进行重写 Equals 函数,而使其具备对比性质。


支持

May Be —— 开发者,总有一天要做的事!

拥有自己的服务器,无需再找攻略

Chinar 提供一站式《零》基础教程

使有限时间 具备无限可能!


先点击领取 —— 阿里全产品优惠券 (享受最低优惠)

Chinar 免费服务器、建站教程全攻略!( Chinar Blog )



END

本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究

对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: ichinar@icloud.com

对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址

string.Compare字符串比较函数中文详解以及与Equal、==的区别相关推荐

  1. Nginx配置文件中文详解

    ######Nginx配置文件nginx.conf中文详解######定义Nginx运行的用户和用户组 user www www;#nginx进程数,建议设置为等于CPU总核心数. worker_pr ...

  2. php.ini配置中文详解

    php.ini配置中文详解 ;;;;;;;;;;; ; 警告 ; ;;;;;;;;;;; ; 此配置文件是对于新安装的PHP的默认设置. ; 默认情况下,PHP使用此配置文件安装 ; 此配置针对开发目 ...

  3. python中字符串切片取奇数_Python中的字符串切片(截取字符串)的详解

    Python中的字符串切片(截取字符串)的详解 字符串索引示意图 字符串切片也就是截取字符串,取子串 Python中字符串切片方法 字符串[开始索引:结束索引:步长] 切取字符串为开始索引到结束索引- ...

  4. 站长在线python精讲:在Python中使用len()函数计算字符串的长度详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中使用len()函数计算字符串的长度详解>.本知识点主要内容有:在Python中使用len()函数计算字符串在 ...

  5. python对输入的字符串进行解析_python数据类型_字符串常用操作(详解)

    这次主要介绍字符串常用操作方法及例子 1.python字符串 在python中声明一个字符串,通常有三种方法:在它的两边加上单引号.双引号或者三引号,如下: name = 'hello' name1 ...

  6. java string()函数_转载java String.split()函数的用法详解

    转载java String.split()函数的用法详解 如果您发现本文排版有问题,可以先点击下面的链接切换至老版进行查看!!!在java.lang包中有String.split()方法的原型是: p ...

  7. JVM——字符串常量池详解

    关注微信公众号:CodingTechWork,一起学习进步. 引言   在Java开发中不管是前后端交互的JSON串,还是数据库中的数据存储,我们常常需要使用到String类型的字符串.作为最常用也是 ...

  8. python加密字符串小写字母循环后错两位_python数据类型_字符串常用操作(详解)

    这次主要介绍字符串常用操作方法及例子 1.python字符串 在python中声明一个字符串,通常有三种方法:在它的两边加上单引号.双引号或者三引号,如下: name = 'hello' name1 ...

  9. AT指令(中文详解版)(二)

    AT指令(中文详解版)(二) 常 用 AT 命 令 手 册   1.常用操作 1.1 AT 命令解释:检测 Module 与串口是否连通,能否接收 AT 命令: 命令格式:AT<CR> 命 ...

最新文章

  1. 今天看论坛,有这样一句话,深有同感,还是家里好
  2. 刚开始走向工作岗位初遇到的一些问题
  3. OpenCV 特征点检测与图像匹配
  4. oracle时间用法
  5. VTK:PolyData之ConnectivityFilter_LargestRegion
  6. JSON自动生成相关类
  7. C#字符串、字节数组和内存流间的相互转换 - IT浪潮之巅
  8. 前端学习(3012):vue+element今日头条管理--axios的create字段
  9. g开头的C语言编程软件,C语言函数大全(g开头)
  10. CLR无法从COM 上下文0x645e18 转换为COM上下文0x645f88...
  11. rnn神经网络模型_ICLR 2019 | 与胶囊网络异曲同工:Bengio等提出四元数循环神经网络...
  12. Spring Boot 学习之,数据库三 ,事务
  13. 反射实现方法调用(1):执行机制
  14. java基础七--网络编程(1)
  15. linux计划任务详解,Linux计划任务详解
  16. 计算机电源再利用usb充电器,变废为宝,笔记本旧电源改造的8口USB充电器
  17. 非法本法考备考经验总结
  18. PAT --- 1068.万绿丛中一点红 (20 分)
  19. 小工程结算书范本_工程结算书范本
  20. LOJ #6279. 数列分块入门 3-分块(区间加法、查询区间内小于某个值x的前驱(比其小的最大元素))...

热门文章

  1. 2021年中国货物运输量、货物运输周转量及港口货物情况分析[图]
  2. 收购江铃重汽!沃尔沃卡车将在中国生产重型卡车
  3. Haul truck运输卡车专为矿用设计
  4. 一本通:1191流感传染
  5. [攻防世界]-WEB高手进阶区-Web_python_block_chain
  6. 前端模拟终端(三):文本显示与自动换行
  7. Vulnhub 渗透练习(一)—— Breach 1.0
  8. GD32F303调试小记(三)之IIC(硬件IIC+PCF8563实时时钟)
  9. 网络安全基础知识笔记-1
  10. sin(x) = x-x3/3!+x5/5!-x7/7!+...         输入x,计算上面公式的前10项和。