博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.Net之路(十一)StringBuilder和string
阅读量:5050 次
发布时间:2019-06-12

本文共 1929 字,大约阅读时间需要 6 分钟。

         之前在东软代码生成器的代码中,我们经常看到strbuilder的使用。在之前,无论是机房收费系统还是学生信息管理系统,用的居多还是string。这次这里使用这个一个对象,所以小小的研究一下。花了一点时间做了一个小demo来熟悉一下。

 

 

string在效率的执行的差异

在东软中,主要是用来拼接一些sql的字符串。就是这个对象常用的方法append,直接来看看例子和执行的效率。

demo

stringbuilder

private void button1_Click(object sender, EventArgs e)        {            System.Text.StringBuilder sb = new System.Text.StringBuilder();            int i = 0;            DateTime StartTime  = DateTime.Now;                        while ( i < 10000 ) {                sb.Append( i.ToString() );            i++;            }            DateTime  EndTime  = DateTime.Now;                                  MessageBox.Show("stringbuilder的执行时间:" + (EndTime - StartTime));        }

string 

string sb1 = null;            int i = 0;            DateTime StartTime = DateTime.Now;            while ( i < 10000 )             {            sb1 += i;            i++;            }            DateTime EndTime  = DateTime.Now;            MessageBox.Show("string的执行时间:" + (EndTime - StartTime))

结果

简单的算术得到的答案是:42倍。当然这只是其中某个时刻的执行效果,但足以说明问题。

常用的方法

通过上面的例子,可以轻易的看到stringstringbuilder在对于字符串拼接上效率的差异是非常大的,所以推荐在执行大量的数据操作时就很有必要使用stringbuilder

简单介绍一下简单的方法

   Append

 

sb.Append("学校:好大学");            sb.Append("姓名:王二麻子");            string sbtwo=sb.ToString();            MessageBox.Show(sbtwo);

Appendformat

int MyInt = 25;            MessageBox.Show(MyInt.ToString());            sb.AppendFormat("{0:C} ", MyInt);                        MessageBox.Show(sb.ToString());

将int数据类型转换为人民币,要是在现实中也这样简单就好了,在代码过把瘾也是不错的。

效果

Insert

sb.Append("I am a man!");            mes();            sb.Insert(6, "good");            mes();

Replace

 

sb.Append("I am a man!");            mes();            sb.Replace('!','?');            mes();

总的来说这些方法,都比较常见常用。还是不错的东西的,还有一些在查资料过程遇到比较好的东西。

   http://terrylee.cnblogs.com/archive/2005/12/26/304876.html

   进一步了解string

   http://lixianhuei.cnblogs.com/archive/2005/12/27/305445.html

 

转载于:https://www.cnblogs.com/guziming/p/4232697.html

你可能感兴趣的文章
Swift - 使用闭包筛选过滤数据元素
查看>>
alue of type java.lang.String cannot be converted to JSONObject
查看>>
搜索引擎选择: Elasticsearch与Solr
查看>>
JAVA设计模式之简单工厂模式与工厂方法模式
查看>>
③面向对象程序设计——封装
查看>>
【19】AngularJS 应用
查看>>
Spring
查看>>
Linux 系统的/var目录
查看>>
Redis学习---Redis操作之其他操作
查看>>
WebService中的DataSet序列化使用
查看>>
BZOJ 1200 木梳
查看>>
【Linux】【C语言】菜鸟学习日志(一) 一步一步学习在Linxu下测试程序的运行时间...
查看>>
hostname
查看>>
SpringBoot使用其他的Servlet容器
查看>>
关于cookie存取中文乱码问题
查看>>
k8s架构
查看>>
select 向上弹起
查看>>
mysql 多表管理修改
查看>>
group by order by
查看>>
bzoj 5252: [2018多省省队联测]林克卡特树
查看>>