C#学习之----string和StringBuilder
来源:互联网 发布:常用sql多表查询学生表 编辑:程序博客网 时间:2024/05/20 13:06
一、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
- C#学习之----string和StringBuilder
- C#学习笔记4-string和StringBuilder
- C#系列之String和StringBuilder
- c#之Stringbuilder、String、Append
- C#中的string和StringBuilder
- C# StringBuilder和String区别
- C#基础----string和stringBuilder
- C# String和StringBuilder简介
- Java学习笔记之String、StringBuffer和StringBuilder
- java学习笔记之String,StringBuilder和StringBuffer
- C#基础之string与StringBuilder
- c#中string和stringbuilder的区别
- C#中string和stringBuilder的区别
- C#中string和stringBuilder的区别
- C# 中 StringBuilder和String的区别
- C# string 和 stringbuilder的区别
- C# 中String和 Stringbuilder的区别
- C#中StringBuilder和String的区别
- 踩坑之为数组原型扩展方法
- numpy常用函数及实例
- 谈谈互联网后端基础设施(转载)
- hdu--3782--找规律--xxx定律
- Linux下查看文件和文件夹大小
- C#学习之----string和StringBuilder
- 基于域名的虚拟主机配置(Nginx在 Linux下配置)
- JSP include,paramer
- hdu 1160 FatMouse's Speed ( LIS )
- 动态规划-DAG-硬币问题
- VS2010下使用QT环境配置
- 学习整理——Java注解
- I/O复用-select系统调用
- [51nod 1223] x^A mod B问题