String、StringBuilder类连接字符串操作的时间差异
最新文章:Virson's Blog
刚刚看到园子里面写了一篇关于Java的《StringBuilder、StringBuffer、String类之间的关系》的文章,自己也想试试看C#的String和StringBuilder类之间的差异,于是有了这篇文章:
CSharp代码:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 using System.Diagnostics; 7 8 namespace TestCharactor 9 { 10 class TestChar 11 { 12 private static int times = 50000; //循环次数 13 private static Stopwatch sw = new Stopwatch(); 14 15 static void Main(string[] args) 16 { 17 string tmpS = "adcdefg"; 18 StringBuilder tmpSb = new StringBuilder("abcdefg"); 19 sw.Start(); 20 Test(tmpS); 21 sw.Stop(); 22 Console.WriteLine("使用+操作符连接字符串共花费时间:{0}毫秒", sw.ElapsedMilliseconds); 23 sw.Restart(); 24 Test(tmpSb); 25 sw.Stop(); 26 Console.WriteLine("使用StringBuilder类连接字符串共花费时间:{0}毫秒", sw.ElapsedMilliseconds); 27 Console.ReadKey(); 28 } 29 30 public TestChar() 31 { 32 33 } 34 35 public static void Test(String s) 36 { 37 //sw.Start(); 38 for (int i = 0; i < times; ++i ) 39 { 40 s += "Virson Ma"; 41 } 42 //sw.Stop(); 43 //Console.WriteLine("使用+操作符连接字符串共花费时间:{0}毫秒", sw.ElapsedMilliseconds); 44 } 45 46 public static void Test(StringBuilder sb) 47 { 48 //sw.Restart(); 49 for (int i = 0; i < times; ++i ) 50 { 51 sb.Append("Virson Ma"); 52 } 53 //sw.Stop(); 54 //Console.WriteLine("使用StringBuilder类连接字符串共花费时间:{0}毫秒", sw.ElapsedMilliseconds); 55 } 56 } 57 }
测试结果可以看出使用StringBuilder的Append方法比String的“+”操作要节省很多时间!
Result:
String、StringBuilder类连接字符串操作的时间差异相关推荐
- c++ string 删除字符_字符串操作的全面总结(附完整代码)
字符串操作看似简单,其实非常重要,不注意的话,经常出现代码运行结果和自己想要的不一致,甚至崩溃.本文总结了一些构建string对象方法.修改string对象的方法.string类型的操作函数.stri ...
- c++ string 删除字符_字符串操作的全面总结
来自公众号:C语言与cpp编程 字符串操作看似简单,其实非常重要,不注意的话,经常出现代码运行结果和自己想要的不一致,甚至崩溃.本文总结了一些构建string对象方法.修改string对象的方法.st ...
- 【转】在Java中连接字符串时是使用+号还是使用StringBuilder StringBuffer 加号
字符串是Java程序中最常用的一种数据结构之一.在Java中的String类已经重载的"+".也就是说,字符串可以直接使用"+"进行连接,如下面代码所示: St ...
- 在Java中连接字符串时是使用+号还是使用StringBuilder
字符串是Java程序中最常用的一种数据结构之一.在Java中的String类已经重载的"+".也就是说,字符串可以直接使用"+"进行连接,如下面代码所示: St ...
- 【Java5】String类,StringBuilder类,ArrayList类,Object类(toString,equals,hashCode)
文章目录 1.String类:字符串常量在Java中不属于基本数据类型, 而是引用/类类型 1.1 使用:new String(...) 1.2 判断:equals函数是用来比较两个对象是否相等 1. ...
- 【JAVA SE】第十章 String类、StringBuffer类和StringBuilder类
第十章 String类.StringBuffer类和StringBuilder类 文章目录 第十章 String类.StringBuffer类和StringBuilder类 一.String类 1.创 ...
- String、StringBuilder类超详细笔记
目录 String类 1. String类的声明 2. 创建String字符串对象的四种方式 3. String字符串的不可变性 String字符串不可变的原因 修改字符串内容的两种方式 4. 字符串 ...
- 进阶03 System、StringBuilder类
System类 java.lang.System类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作,在System类的API文档中,常用的方法有: public static long c ...
- 【java笔记】StringBuilder类
字符串拼接问题: String类的对象内容不可改变:字符串的底层是一个被final修饰的数组,不能改变,是一个常量 所以每当进行字符串拼接时,总是会在内存中创建一个新的对象 进行字符串的相加,内存中就 ...
最新文章
- Mysql5.7使用注意事项随笔
- python模块引用
- Java Thread源码分析
- 微信iOS版更新:可批量管理不常联系的朋友
- FinTech-Blockchain区块链
- 如何成为一名卓越的前端工程师
- css中哪些属性与创建多列相关,css3中的新增属性有哪些
- 【转】WebSocket详解(一):初步认识WebSocket技术
- linux搭建vsftp服务器_Linux配置VSFTP服务器的方法
- 合成孔径雷达算法与实现_[SAR笔记0]合成孔径雷达成像算法与实现
- Docker 开发环境正在崩坏!
- 【Qt点滴】UDP协议实例:简易广播实现
- vivadohlsdsp_FPGA硬件加速学习vivado hls-----------------卷积加速
- 鸿蒙os开机时间,再见了安卓!华为鸿蒙OS 2.0正式登场,开机只需19秒
- 【尚硅谷】React笔记
- Spring boot 项目中dcm文件转jpg文件
- My97DatePicker日期插件的使用
- SCOI2018滚粗记
- 技术债务的高息信用卡:深入了解那些知名的端到端机器学习平台
- Pytorch——报错解决:RuntimeError: Output 0 of SelectBackward is a view and is being modified inplace.