如何覆盖Contains()?

use*_*138 6 c# string overriding

Contains(...)字符串的方法区分大小写.我想覆盖它,以便使用以下代码(从这里被盗)使其为case-INsensitive :

public static bool Contains(this string source, string toCheck, StringComparison comp)
{
    return source.IndexOf(toCheck, comp) >= 0;
}
Run Code Online (Sandbox Code Playgroud)

但是,我不知道应该在哪里粘贴代码.它应该放在类程序的同一名称空间中吗?它需要一个专门的课程吗?

Sam*_*ade 9

如果你正打算是创建一个扩展方法string类,那么你需要把它的一些类里面.要使用它,只需确保您有一个using语句,指定对包含该类的命名空间的引用.

例如:

namespace SomeNamespace
{
    public static class StringExtensions
    {
        public static bool Contains(this string source, string toCheck, StringComparison comp)
        {
            return source.IndexOf(toCheck, comp) >= 0;
        }
    }
}

// ... In some other class ...
using SomeNamespace;

// ...
bool contains = "hello".Contains("ll", StringComparison.OrdinalIgnoreCase);
Run Code Online (Sandbox Code Playgroud)