字符串匹配 对比系统自带函数

 public static int IndexOf(string chars,string str) {
            for (int i = 0; i < str.Length; i++)
            {
                if (str[i] != chars[0]) continue;
                if (i + (chars.Length ) > str.Length)
                    return -1;
                if (str.Substring(i, chars.Length) == chars) return i;
            }
            return -1;
        }

    static void Main(string[] args)
        {
            Stopwatch sw = new Stopwatch();
            sw.Start();
            for (int i = 0; i < 200000; i++)
                IndexOf("abcsdas", "bcbabcbsbssadasdasdasdabcdabcbabcbsbssadasdasdasdabcdabcbabcbsbssadasdasdasdabcdabcbabcbsbssadasdasdasdabcdabcbabcbsbssadasdasdasdabcdabcbabcbsbssadasdasdasdabcdabcbabcbsbssadasdasdasdabcda");
            sw.Stop();
            Console.WriteLine(sw.ElapsedMilliseconds);
            sw = new Stopwatch();
            sw.Start();
            for (int i = 0; i < 200000; i++)
                "bcbabcbsbssadasdasdasdabcdabcbabcbsbssadasdasdasdabcdabcbabcbsbssadasdasdasdabcdabcbabcbsbssadasdasdasdabcdabcbabcbsbssadasdasdasdabcdabcbabcbsbssadasdasdasdabcdabcbabcbsbssadasdasdasdabcda".IndexOf("abcsdas");
            sw.Stop();
            Console.WriteLine(sw.ElapsedMilliseconds);

            Console.Read();
        }

  

这个方法对重复比较多的字符串自然是表现很差的

原文地址:https://www.cnblogs.com/ProDoctor/p/7058589.html