C#之字符串篇

大杂烩

一、类型转换
    字符串转整形:

     int a = int.Parse(""); //不能转换null

     int b = Convert.ToInt32("");  null转为0     四舍五入(.5的话只对奇数进行四舍五入)

      // char.IsLetter  判断是否是数字

    比较是否相等:

            //            if(str == "abc")
            // if(String.Equals(str,"abc"))
            // if(String.Compare(str,"abc")==0)

    获取对象地址:

            GCHandle hander = GCHandle.Alloc(str1);
            var pin = GCHandle.ToIntPtr(hander);

            Console.WriteLine(pin);

二、自定义可以代替单个参数情况下不用重载的方法:

        public static string testFunction(object obj) {
            if (obj.GetType() == typeof(String)) {//判断类型
                return (String)obj;
            }else if(obj.GetType() == typeof(string[])){
                string tempString = "";
                foreach (object obje in (string[])obj) {
                    tempString += obje;            
                }
                return tempString;
            }
            return null;
        }

三、字符串格式化

    string str = String.Format("{0:C} "+ "{0:D} " + "{0:E} " + "{0:F} " + "{0:G} " + "{0:N} " + "{0:P} " + "{0:X} ",21);

    输出:¥21.00    21     2.100000E+001      21.00     21     21.00    2,100.00%    15  

 三、字符串截取

    str.Substring(下标,长度)

 四、字符串分割与合并与插入

            string str = "12-345=67-89";
           String[] strArray = str.Split('-','=');//参数为字符或字符数组

            foreach (var obj in strArray) {
                Console.WriteLine(obj);
            }
            Console.WriteLine(String.Concat(strArray));//直接合并

            Console.WriteLine(String.Join("++",strArray));//加分隔符合并

            Console.WriteLine(String.Join("++", strArray).Insert(2,"aaa"));//插入

五、字符串填充

           String str = "123";
           Console.WriteLine(str.PadLeft(10,'0'));//输出0000000123

六、字符串移除

           str.Remove(下标,长度)//移除下标以后的数据(包括下标位置)

七、字符串修剪      public String Trim(params char[] trimChars);可变参数个数  (‘1’,‘2’)<=>  char[] ch = { '1', '2' };(ch)<=>("12".ToCharArray())

           str.Trim()//删除头部和尾部的空格,用于输入框字符串的处理 

八、字符串复制

            String str = "0123456789";
            //Copy 是静态方法(类方法)
            Console.WriteLine(String.Copy(str));
            //Copy非静态方法(实例方法)
            char[] ch = new char[20];
            str.CopyTo(4, ch, 0, 3);//返回void类型 (copy起始下标,目标对象,目标对象起始下标,copy长度)
            Console.WriteLine(ch);

九、字符串替换

            str.Replace('9', '0')//(old,new)

十、字符串查找

            str.IndexOf("345")   返回-1 表示不不包含   返回int类型

                                                         checked  检查异常

原文地址:https://www.cnblogs.com/liuguan/p/5895556.html