C#学习之----string和StringBuilder


一、string的学习

string是System.String的别名

sting s="www.com";//使用string类型存储字符串类型

int length=s.Length;//获取字符串的长度
 
//1 字符串比较可以使用"=="

if(s=="xxx")
{
Console.Write("相同");
}
else
{
  Console.Write("不相同");
}

//2 使用“+”链接两个字符串

s="http://"+s;
Console.Write(s);
 
//3 可以使用索引找到某个字符
char ch=s[3];
Console.Write(ch);
 
//4 遍历查找所有字符
 
for(int i=0;i<s.Length;i++)
{
Console.WriteLine(s[i]);
}
 
//5比较方法的使用
int res= s.CompareTo("lili")//当两个字符串相等返回0 当s 的字母表中的排序靠前时,返回-1,靠后返回1
if(res==0)//相等
{}
else if(res>0)//大于 返回1
{}
else//小于 返回-1
{}

//6 替换指定的字符或者字符串,换成另一个字符或者字符串
s.Replace('.','_');
 
二、StringBuilder的学习

//1不能直接复制,必须new 一个
StringBuilder sb=new StringBuilder("ww");//利用


//2初始化一个空的stringBuilder对象 占有20个字符的大小
StringBuilder sb=new StringBuilder(20);


//3初始化一个的stringBuilder对象 占有120个字符的大小。如果字符串小于该内存时,之后还可以再添加字符. 它里面的内容可以变换 但是string就不可以
StringBuilder sb=new StringBuilder("www",120);


//4两个字符串的链接
sb.Append("/xxx.html");//可以将在字符串添加到www的后面 sb="www/xxx.html"

sb.Insert(0,"http://");//指定插入位置,这个位置之后的所有数据都会向后移动

sb.Remove(0,3);//

sb.Replace(".","");

sb.Replace('.','_');

sb.ToString()//它是把当前的StringBuilder中存储的字符串,提取成一个不可变的字符串

string s="www";//声明内存a,存储www数据
s+="/xxx.html";//这个是新创建一块内存b,然后将内存a中存有www的数据复制到b内存中,
这样引用指向新的内存b,内存a不需要了,就回收掉了.改变了引用地址;




三、StringBuilder和String的区别


前者是声明时会声明一段内存,当该字符串改变时,它会自动在该内存中,指向相应的添加删除操作。不会改变指向内存的地址。

但是后者是声明一段内存a,当字符串改变时(添加 删除),会重新生成一段内存b,当之前的存储内容复制到该新的内存b当中,改变指向内存b的地址,

之前的内存a将会被回收掉。

当我们需要对一个字符串进行频繁的删除添加操作的时候,使用StringBuilder的效率更高。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值