随笔 - 163  文章 - 2  评论 - 370  阅读 - 46万 
Compare 有多个重载函数,列出最简单的一个。

public static int Compare (string strA, string strB)

返回值
* 小于零,strA 小于 strB;
* 零,strA 等于 strB;
* 大于零,strA 大于 strB。

该比较使用当前区域性设置获取区域性特定的信息,如大小写规则和各个字符的字母顺序。例如,区域性设置可以指定将某些字符的组合视为单个字符,或者用特殊方法比较大写和小写字符,或者字符的排列顺序取决于它前面或后面的字符。

如果其中一个参数是 null 引用,则字符串大于 null 引用;如果两个参数都是 null 引用,则比较结果相等。

这里最重要的是 StringComparison 类型的 comparisonType 参数:

StringComparison.CurrentCulture 使用区域敏感排序规则和当前区域比较字符串。
StringComparison.CurrentCultureIgnoreCase 使用区域敏感排序规则、当前区域来比较字符串,同时忽略被比较字符串的大小写。
StringComparison.InvariantCulture 使用区域敏感排序规则和固定区域比较字符串。
StringComparison.InvariantCultureIgnoreCase 使用区域敏感排序规则、固定区域来比较字符串,同时忽略被比较字符串的大小写。
StringComparison.Ordinal 使用序号排序规则比较字符串。这个就是按照每一个字符的 Unicode 编码就行比较,编码小的就小,之前很多语言采取的都是这种比较方式。
StringComparison.OrdinalIgnoreCase 使用序号排序规则并忽略被比较字符串的大小写,对字符串进行比较。在 StringComparison.Ordinal 的基础上,只是忽略了大小写。
posted on   风浪  阅读(2540)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示