C#Visual Studio String类

String

StringBuilder

使用System.String类中的方法时,都要做内存中创建一个新的对象,在字符串重复修改的情况下,系统开销就非常大。c#创建了StringBuilder类,解决了这个问题。

string mystring = "0123456789";
string mystring0 = mystring.Substring(3);
Console.WriteLine(mystring0);		--输出3456789
StringBuilder mystringbuilder = new StringBuilder("http://www.51zxw.com");
Console.WriteLine("===========Append==========");
Console.WriteLine(mystringbuilder.Append("这是一个神奇的网站"));
--输出http://www.51zxw.com这是一个神奇的网站
Console.WriteLine("==========Insert==========");
Console.WriteLine(mystringbuilder.Insert(20,"/n"));
--输出
--http://www.51zxw.com
--这是一个神奇的网站
Console.ReadKey();
字符串索引,截取
            string emall = "thinker@qq.com.@123";
            Console.WriteLine(emall.IndexOf("@"));//获取字符串第一个索引位置。没有返回-1
            Console.WriteLine(emall.LastIndexOf("@"));//获取字符串最后一个索引位置。没有返回-1
            Console.WriteLine(emall.Substring(0,7));//截取0-7之间
            Console.WriteLine(emall.Substring(emall.IndexOf("@")));//截取第一个@之后的字符串
字符串比较
            string name1 = "jack";
            string name2 = "james";
            string name3 = "JAMES";
            // == 与Equals 默认只能比较字符串类型和值类型,对象类型和引用类型不能进行比较。
            // ==与Equals 都能区分大小写,有的版本 ==是不会区分大小写的
            Console.WriteLine(name1 == name2);
            Console.WriteLine(name1.Equals(name2));
            Console.WriteLine(name2 == name3);
            Console.WriteLine(name2.Equals(name3));
            Console.ReadKey();
字符串格式化

在这里插入图片描述

字符串空值和nil
            string name10 = "";
            string name11 = string.Empty;
            Console.WriteLine(name10.Equals(name11));//以上两个相等
            Console.WriteLine(name10.Length);//长度0
            Console.WriteLine(name11.Length);//长度0

            string name12;//这个没有赋值的过程。
            string name14 = null;//这个存在一个赋值动作。但不等于string name10 = "";
            //Console.WriteLine(name12.Equals(name14));//语法错去 提示:使用了未赋值的变量name12
            Console.WriteLine(name14.Length);//语法错误 
            //提示:System.NullReferenceException:“未将对象引用设置到对象的实例。”
            //字符串是一个String对象,使用的时候必须实例化(实例化了,不能是null。如果是null,是没有实例化,是没有办法调用方法和属性的)
字符串去空格方法
            string info = "  SD ad  ";
            Console.WriteLine(info.Trim().Length);//移除字符串前后空格
            Console.WriteLine(info.ToLower());//全部转换为小写
            Console.WriteLine(info.ToUpper());//全部转换为大写

字符串的格式化

            string msg = "sdasd";
            string ip = "123";
            string info0 = "消息内容:" + msg + " IP" + ip;
            string info1 = string.Format("消息内容:{0} IP{1}", msg, ip);
            string info2 = $"消息内容:{msg} IP{ip}";
            Console.WriteLine(info0);
            Console.WriteLine(info1);
            Console.WriteLine(info2);
            Console.ReadKey();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值