• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

使用场景

字符串比较

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

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

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

代码示例

 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并不是只可以用作忽略大小写进行字符串比较,
还可以用来忽略符号、空格等,
可以说非常的好用。
//
    // 摘要:
    //     定义要使用的字符串比较选项 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
    }

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
c#实现每隔一段时间执行代码(多线程)发布时间:2022-07-14
下一篇:
asp.net(C#)中Repeater嵌套绑定Repeater发布时间:2022-07-14
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap