服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C# - C# 忽略大小写进行字符串比较

C# 忽略大小写进行字符串比较

2022-11-01 12:30许鸿飞 C#

这篇文章主要介绍了C# 字符串比较忽略大小写的方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下

使用场景

字符串比较

在EF或者其他地方使用的时候,字符串的比较非常常见。

使用全部转化为大写或者小写进行比较,有时候并不能满足使用需求。

所以使用另外的字符串比较非常有意义。

代码示例

?
1
2
3
4
5
6
7
8
9
10
11
class Program
  {
    static void Main(string[] args)
    {
      CompareInfo Compare = CultureInfo.InvariantCulture.CompareInfo;
      string a = "AaasasaAAaasaa";
      string b = "aaasasaAaaasaa";
      Console.WriteLine(Compare.IndexOf(a, b, CompareOptions.IgnoreCase) );
      Console.ReadLine();
    }
  }

CompareOptions补充

CompareOptions并不是只可以用作忽略大小写进行字符串比较,
还可以用来忽略符号、空格等,
可以说非常的好用。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
//
  // 摘要:
  //   定义要使用的字符串比较选项 System.Globalization.CompareInfo。
  [ComVisible(true)]
  [Flags]
  public enum CompareOptions
  {
    //
    // 摘要:
    //   指示字符串比较的默认选项设置。
    None = 0,
    //
    // 摘要:
    //   指示字符串比较必须忽略大小写。
    IgnoreCase = 1,
    //
    // 摘要:
    //   指示字符串比较必须忽略非空格组合字符,如标注字符。 Unicode Standard 将组合字符定义为与基的字符,以生成新的字符组合的字符。 非空格组合字符不在呈现时本身会占用空间位置。
    IgnoreNonSpace = 2,
    //
    // 摘要:
    //   指示字符串比较必须忽略符号,如空白字符、 标点、 货币符号、 百分比符号,数学符号、 的与符号,依次类推。
    IgnoreSymbols = 4,
    //
    // 摘要:
    //   指示字符串比较必须忽略假名类型。 假名类型引用为日文平假名和片假名字符,表示在日语中的语音。 平假名用于本机日语表达式和单词,而片假名用于从"计算机"或"Internet"等其他语言借用的词语。
    //   拼音声音可以表示在平假名和片假名。 如果选择此值,则一种声音的平假名字符视为相等的同一个声音的片假名字符。
    IgnoreKanaType = 8,
    //
    // 摘要:
    //   指示字符串比较必须忽略字符宽度。 例如,日语的片假名字符可以编写为全角或半角。 如果选择此值,则片假名字符的全角形式视为相等半角形式编写的相同字符。
    IgnoreWidth = 16,
    //
    // 摘要:
    //   字符串比较必须忽略大小写,然后执行序号比较。 此方法相当于将转换为大写使用固定区域性,然后对结果执行序号比较的字符串。
    OrdinalIgnoreCase = 268435456,
    //
    // 摘要:
    //   指示字符串比较必须使用字符串排序算法。 在字符串排序、 连字符和撇号,以及其他非字母数字的符号,排在字母数字字符之前。
    StringSort = 536870912,
    //
    // 摘要:
    //   指示字符串比较必须使用 Unicode utf-16 编码的连续值的字符串 (由代码单元比较代码单位),从而导致比较速度,但不区分区域性。 字符串与代码单元
    //   XXXX 开始16 YYYY 开头的字符串之前16, ,如果 XXXX16 小于 YYYY16。 此值不能与其他组合 System.Globalization.CompareOptions
    //   值,并必须单独使用。
    Ordinal = 1073741824
  }

以上就是C# 忽略大小写进行字符串比较的详细内容,更多关于C# 字符串比较的资料请关注服务器之家其它相关文章!

原文链接:https://www.cnblogs.com/xuhongfei/p/14306501.html

延伸 · 阅读

精彩推荐
  • C#UGUI ScrollRect实现带按钮翻页支持拖拽

    UGUI ScrollRect实现带按钮翻页支持拖拽

    这篇文章主要为大家详细介绍了UGUI ScrollRect实现带按钮翻页支持拖拽,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一...

    代码妖3582022-09-07
  • C#c#创建圆形类Circle、矩形类实现代码

    c#创建圆形类Circle、矩形类实现代码

    这篇文章主要介绍了c#创建圆形类Circle实现代码,其中包括set,get方法,需要的朋友可以参考下...

    432727814092022-10-18
  • C#Quartz.Net任务和触发器实现方法详解

    Quartz.Net任务和触发器实现方法详解

    这篇文章主要介绍了Quartz.Net任务和触发器实现方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可...

    David Huang4502022-10-19
  • C#C#弹出对话框确定或者取消执行相应操作的实例代码

    C#弹出对话框确定或者取消执行相应操作的实例代码

    这篇文章主要介绍了C#弹出对话框确定或者取消执行相应操作的实例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借...

    Code porter T33712022-10-19
  • C#C#实现动态生成静态页面的类详解

    C#实现动态生成静态页面的类详解

    这篇文章主要介绍了C#实现动态生成静态页面的类,结合实例形式详细分析了C#动态生成静态页面的原理与相关使用技巧,需要的朋友可以参考下...

    且行且思10362021-11-18
  • C#C#基于Windows服务的聊天程序(1)

    C#基于Windows服务的聊天程序(1)

    这篇文章主要为大家详细介绍了C#基于Windows服务的聊天程序的第一篇,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    波谷4182022-01-17
  • C#C#实现Json转DataTable并导出Excel的方法示例

    C#实现Json转DataTable并导出Excel的方法示例

    这篇文章主要介绍了C#实现Json转DataTable并导出Excel的方法,结合实例形式总结分析了Json转换DataTable,以及DataTable导出Excel相关操作技巧,需要的朋友可以参考下...

    东边的小山6822022-03-09
  • C#WPF ProgressBar实现实时进度效果

    WPF ProgressBar实现实时进度效果

    这篇文章主要介绍了WPF ProgressBar实现实时进度效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    秋秋_瑶瑶9222022-03-07