StringBuilder简介
1.字符串的缺点
当需要对一个字符串类型的变量重复赋值时,在内存中会产生大量的垃圾数据信息。
当你重复赋值的频率很高时,执行的效率就会降低。
2.StringBulider简介
string:字符串;Builder:构建器;连起来就是:字符串构建器。
StringBuilder是一个类,StringBulider类型的变量是引用类型的。
StringBuilder类型 的 字符串变量,一直操作同一块内存空间,不会产生垃圾数据,并且他的执行效率远远高于string类型的字符串变量。
StringBulider使用方法
1.创建StringBulider类型的变量
需要注意StringBuilder依赖于System.Text命名空间。
如果没有则会错误提示:找不到类型或命名空间名称“类型/命名空间”(是否缺少 using 指令或程序集引用?),此时我们需要输入下面的代码:
Using System.Text;//引入命名空间
StringBuilder sb= new StringBuilder();//创建一个 sb 对象
2.向StringBulider中添加数据
//单个数据追加
sb.Append("123");
sb.Append("abc");
sb.Append(true);
Console.WriteLine(sb);//out:123abcTrue
//循环追加
for (int i = 0; i < 10; i++)
{
sb.Append(i);
}
Console.WriteLine(sb);//out:0123456789
3.清空StringBulider中的数据
sb.Clear();//清空sb对象中的数据
StringBulider效率测试
1.Stopwatch类
Stopwatch:秒表计时器,用来记录程序运行的时间。
注意:Stopwatch依赖System.Diagnostics命名空间。
using System.Diagnostics;
2.对Stopwatch的使用
Stopwatch sw = new Stopwatch();//创建对象
sw.Start();//计时器开始
sw.Stop();//计时器结束
sw.Elapsed;//开始到结束之间的时长
效率测试
分别往string和stringbuild中添加10万个数据,并且统计时长进行比较,根据软件的输出时间可以看到 运行时间的差距还是很大的。
Stopwatch stopwatch = new Stopwatch();
//string
stopwatch.Start();
string str = "";
for (int i = 0; i <= 100000; i++)
{
str += i;
}
stopwatch.Stop();
Console.WriteLine("string类型使用时间:" + stopwatch.Elapsed);//out:string类型使用时间:00:00:23.0771544
stopwatch.Restart();//重置时间
//stringBuilder
stopwatch.Start();
StringBuilder stringbuilder = new StringBuilder();
for (int i = 0; i <= 100000; i++)
{
stringbuilder.Append(i);
}
stopwatch.Stop();
Console.WriteLine("stringBuilder类型使用时间:" + stopwatch.Elapsed);//out:stringBuilder类型使用时间:00:00:00.0061536
© 版权声明
本文由Element创作
遵循 E YunaSu License 协议
邮箱为:elementxuan@qq.com
一律禁止以任何方式发布或转载任何违法的相关信息,如果您有发现,请与我联系!
THE END
暂无评论内容