zoukankan      html  css  js  c++  java
  • Indexof的实现

    代码
     1   class Program
     
    2    {
     
    3        static void Main(string[] args)
     
    4        {
     
    5            string str1 = "";
     
    6            string str2 = "";
     
    7
     
    8            Console.WriteLine(str1.IndexOf(str2));
     
    9            Console.WriteLine(StringIndexOf(str1, str2));
    10
    11            Console.ReadKey();
    12        }
    13
    14        /**//// <summary>
    15        /// 实现字符串的IndexOf 功能 
    16        /// </summary>
    17        /// <param name="strMain"></param>
    18        /// <param name="strExtre"></param>
    19        /// <returns></returns>
    20        static int StringIndexOf(string strMain, string strExtre)
    21        {
    22            if (strMain == null || strExtre == null)
    23                throw new Exception("String cannot be null.");
    24            if (strExtre.Length == 0return 0;
    25            if (strExtre.Length > strMain.Length) return -1;
    26
    27            //返回值
    28            int index = -1;
    29            //获取附加字符串首字符 
    30            char c = strExtre[0];
    31            //在主字符串中搜索首字符
    32            for (int i = 0; i < strMain.Length; i++)
    33            {
    34                //不匹配的话继续搜索
    35                if (false == strMain[i].Equals(c)) continue;
    36
    37                int Length = 1;
    38                //从次首字符开始比较
    39                for (int j = 1; j < strExtre.Length; j++)
    40                {
    41                    if ((i + j) >= strMain.Length) break;
    42                    if (false == strMain[i + j].Equals(strExtre[j])) break;
    43                    Length++;
    44                }
    45                //条件匹配即退出
    46                if (Length == strExtre.Length)
    47                {
    48                    index = i;
    49                    break;
    50                }
    51            }
    52
    53            return index;
    54        }
    55    }
  • 相关阅读:
    OC与Swift的区别二(常量、变量、运算符)
    OC与Swift的区别一(文件结构)
    OC对象的归档及解档浅析
    OC单例模式的实现
    oc文件基本读写及操作
    IOS之沙盒(Sandbox)机制
    IOS开发之KVC与KVO简述
    SpringMVC控制器配置文件
    spring常用的连接池属性文件配置
    Struts2文件上传方式与上传失败解决方式
  • 原文地址:https://www.cnblogs.com/hubcarl/p/1680187.html
Copyright © 2011-2022 走看看