StringBuilder类
来源:互联网 发布:java 网页抓取 编辑:程序博客网 时间:2024/05/21 13:21
string是一个不变类,创建了以后就不会改变了,如果你每次对这个string对象进行修改的话,都会创建一个新的string类。在我们的程序里经常要对string进行拼接的,如果量很大的话就会在内存里创建很多的string的对象,这样对内存就是比较大的浪费,就会引起性能问题。
static void Main(string[] args)
{
string aa = "a";
int b=1;
//这就是修改
aa = "a" + "c";
}
修改后就变成了 2#就表示已经不是同一个东西了,string每次改变都会产生一个新的对象,原先的那个string已经在内存里,但没有用了,这样就相当于在内存中产生了一个垃圾,这样的话就是浪费。所以如果你经常要把一个字符串后面加点什么东西的这样的操作的话,就不要在string后面直接加,为了避免这样的浪费,就需要一个新的类stringbuilder。
使用 append方法来添加字符串,最后使用tostring方法来返回拼接好的值,也支持这样格式化字符串appendformat
private static void TestStringBuilder()
{
//先创建这个对象
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 100; i++)
{
//append就是附加的意思,就是把字符串加到现有值的后面
sb.Append(i.ToString());
if (i == 50)
{
sb.AppendFormat("这是第{0}个字符串\n", i);
}
}
string result = sb.ToString();
}
- StringBuilder 类
- StringBuilder类
- StringBuilder 类
- StringBuilder 类
- StringBuilder类
- StringBuilder类
- StringBuilder类
- Stringbuilder类
- StringBuilder类
- String和StringBuilder-使用 StringBuilder 类(MSDN)
- stringBuilder类实例
- 简洁的StringBuilder类
- C#中的Stringbuilder类
- stringBuilder类的使用方法
- System.Text.StringBuilder 类
- System.Text.StringBuilder 类
- Java的StringBuilder类
- 字符串stringBuilder类
- session 转
- signal函数理解或者void (*signal(int signum,void(*handler)(int)))(int)理解
- Squid-3.3.5 DoS PoC
- linux内核container_of宏定义分析
- ubuntu12.04离线安装libjpeg62-dev
- StringBuilder类
- Tree Construction
- 遍历指定目录下的所有文件夹和文件
- eclipse.ini 内存设置
- 另一种阶乘问题
- CGContext对象层的相关知识
- 海量数据处理专题(二)——Bloom Filter
- 技术怪题
- source insight 常用快捷键