string与StringBuilder的性能对比
来源:互联网 发布:河北广电网络集团电话 编辑:程序博客网 时间:2024/05/23 07:25
关于string与StringBuilder的区别,这里就不做详细的说明了,毕竟网上一大堆这方面的文章。这里我就直接贴出一个新能测试的对比,大家一看就知道它们之间的区别。
首先,还是简单解释一下string、StringBuilder;
string对象是不可改变的。每次使用 System.String类中的方法之一时,都会在内存中创建一个新的字符串对象,这个时候就需要在内存中为该新对象分配新的空间。在对字符串重复执行复制的时候(例如: string a = "1"; a+=1;),与创建新的 String对象对比,系统开销会非常大。
StringBuilder对象是动态对象,长度可变。当修改 StringBuilder时,它首先会默认一个空间,当长度达到这个容量时,将自动分配新的空间且容量翻倍,所以它是一个可自动变法的对象。
废话就不说了,直接贴出相关性能测试代码:
StringBuilder测试代码
protected void Button3_Click(object sender, EventArgs e) { long startData = DateTime.Now.Ticks; StringBuilder sb = new StringBuilder(); int count = int.Parse(TextBox2.Text); for (int i = 0; i < count; i++) { sb.Append("测试写入日志" + i + "," + TextBox1.Text + "\r\t"); } new WriteLog().WriteLog_1("StringBuilder测试写入日志", sb.ToString()); long endData = DateTime.Now.Ticks; this.TextBox5.Text = TimeSpan.FromTicks((endData - startData)).TotalMilliseconds + ""; }
StringBuilder测试执行结果
string测试代码
protected void Button4_Click(object sender, EventArgs e) { long startData = DateTime.Now.Ticks; string sb = ""; int count = int.Parse(TextBox2.Text); for (int i = 0; i < count; i++) { sb += "测试写入日志" + i + "," + TextBox1.Text + "\r\t"; } new WriteLog().WriteLog_1("String测试写入日志", sb); long endData = DateTime.Now.Ticks; this.TextBox5.Text = TimeSpan.FromTicks((endData - startData)).TotalMilliseconds + ""; }
string测试执行结果
一看这结果,大家就应该明白了吧... ...
还不明白你就out了... ...
- string与StringBuilder的性能对比
- String,StringBuilder性能对比
- String、StringBuffer和StringBuilder的性能对比
- String与StringBuilder与StringBuffer的对比
- String/StringBuilder/StringBuffer性能对比
- String,StringBuffer与StringBuilder对比
- string拼接和StringBuilder性能对比
- 【Unity】string的'+'与StringBuilder.Append的对比
- string与stringbuffer的性能对比
- Java的String与StringBuffer、StringBuilder的性能比较
- Java的String与StringBuffer、StringBuilder的性能比较
- .NET Framework中StringBuilder与string的性能比较
- C#中String与StringBuilder性能差异的原因详解
- C#中string与stringbuilder性能差异的原因详解
- C#中String与StringBuilder性能差异的原因详解
- java中string.format与stringbuilder的性能比较
- string 和 StringBuilder的效率对比
- String和StringBuilder的简单对比
- UC整合团购,商城,论坛等莫名其妙“通信失败”的解决办法
- Java 操作 Excel (读取Excel2003 2007,Poi实现)
- uboot的两大环境变量
- 安卓开发UI界面
- 对象数组和指向对象的指针 指向类成员的指针
- string与StringBuilder的性能对比
- Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined
- WPF之完美捕捉精灵神器 -- HitTest
- 新技术让你在视频会议时更有‘面对面’的感觉
- JNDI的含义和作用
- MYSQL常用命令
- 如何为您使用Windows Azure的应用程序评估成本
- DuplexChannelFactory 使用WCF创建订阅发布程序时,客户端点击订阅时出现“ChannelFactory.Endpoint 上的地址属性为空。ChannelFactory 的终结点必
- win7下 大流量 断网的解决方案