在C#中使用忽略大小写的string.Contains方法

简介:

在C#中比较源字符串是否包含目标字符串,我们可以使用以下方法:

    source.Contains(target) 
    source.IndexOf(target) >= 0;

相对而言 Contains 方法更符合直觉,因为它直接返回了一个布尔值,但当我们的对于需要忽略大小写时只能使用 IndexOf 支持 StringComparison 参数的重载方法,但是这个方法可能不够符合语义(返回值可能是-1,0,或者大于0),虽然这种情况下很多人或许会将源字符串和目标字符串都转换为大写或小写再对比,但这样未免太低效了,我们可以直接定义一个支持StringComparison参数的扩展方法:

    public static bool Contains(this string source, string value, StringComparison comparisonType)
    {
        return (source.IndexOf(value, comparisonType) >= 0);
    }

其实.NET 类库中的 Contains 方法的也是基于 IndexOf 方法的:

    // #mscorlib/system/string.cs
    [Pure]
    public bool Contains( string value ) {
        return ( IndexOf(value, StringComparison.Ordinal) >=0 );
    }

参考

分类:  C#
标签:  C# String Contains

在C#中比较源字符串是否包含目标字符串,我们可以使用以下方法:

    source.Contains(target) 
    source.IndexOf(target) >= 0;

相对而言 Contains 方法更符合直觉,因为它直接返回了一个布尔值,但当我们的对于需要忽略大小写时只能使用 IndexOf 支持 StringComparison 参数的重载方法,但是这个方法可能不够符合语义(返回值可能是-1,0,或者大于0),虽然这种情况下很多人或许会将源字符串和目标字符串都转换为大写或小写再对比,但这样未免太低效了,我们可以直接定义一个支持StringComparison参数的扩展方法:

    public static bool Contains(this string source, string value, StringComparison comparisonType)
    {
        return (source.IndexOf(value, comparisonType) >= 0);
    }

其实.NET 类库中的 Contains 方法的也是基于 IndexOf 方法的:

    // #mscorlib/system/string.cs
    [Pure]
    public bool Contains( string value ) {
        return ( IndexOf(value, StringComparison.Ordinal) >=0 );
    }

参考

分类:  C#
本文转自gyzhao博客园博客,原文链接:http://www.cnblogs.com/IPrograming/p/string-contains-extension.html ,如需转载请自行联系原作者
相关文章
|
2月前
|
Java
Java String split()方法详细教程
Java String split()方法详细教程
25 0
|
2月前
|
Java 调度 C#
C#学习系列相关之多线程(一)----常用多线程方法总结
C#学习系列相关之多线程(一)----常用多线程方法总结
|
2月前
|
C#
C#学习相关系列之数组---常用方法使用(二)
C#学习相关系列之数组---常用方法使用(二)
|
2月前
|
C#
51.c#:string类的静态方法
51.c#:string类的静态方法
21 1
|
2月前
|
存储 C# 数据库
C# 生成唯一ID,有哪些方法?
【2月更文挑战第12天】
184 0
|
2月前
|
Java 索引
Java中String方法学习总结_kaic
Java中String方法学习总结_kaic
|
11天前
|
C++
【C++】std::string 转换成非const类型 char* 的三种方法记录
【C++】std::string 转换成非const类型 char* 的三种方法记录
5 0
|
14天前
|
设计模式 IDE 测试技术
提升 C#编程效率的技巧与方法
【4月更文挑战第20天】提升C#编程效率的关键技巧包括:选择合适的IDE(如Visual Studio)、掌握基础语法、规划良好代码结构、使用代码生成工具、复用代码、利用库和框架、定期重构、应用设计模式、避免过度设计、进行代码审查、自动化测试、学习新技术、养成良好编程习惯、定期备份代码及参与技术社区。通过这些方法,开发者能提高代码质量和开发效率。
|
26天前
|
C#
C# Dev TreeList常用属性方法
C# Dev TreeList常用属性方法
|
2月前
|
Java 索引
【Java】String类常用方法总结
【Java】String类常用方法总结
20 0