最新文章: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类连接字符串操作的时间差异相关推荐

  1. c++ string 删除字符_字符串操作的全面总结(附完整代码)

    字符串操作看似简单,其实非常重要,不注意的话,经常出现代码运行结果和自己想要的不一致,甚至崩溃.本文总结了一些构建string对象方法.修改string对象的方法.string类型的操作函数.stri ...

  2. c++ string 删除字符_字符串操作的全面总结

    来自公众号:C语言与cpp编程 字符串操作看似简单,其实非常重要,不注意的话,经常出现代码运行结果和自己想要的不一致,甚至崩溃.本文总结了一些构建string对象方法.修改string对象的方法.st ...

  3. 【转】在Java中连接字符串时是使用+号还是使用StringBuilder StringBuffer 加号

    字符串是Java程序中最常用的一种数据结构之一.在Java中的String类已经重载的"+".也就是说,字符串可以直接使用"+"进行连接,如下面代码所示: St ...

  4. 在Java中连接字符串时是使用+号还是使用StringBuilder

    字符串是Java程序中最常用的一种数据结构之一.在Java中的String类已经重载的"+".也就是说,字符串可以直接使用"+"进行连接,如下面代码所示: St ...

  5. 【Java5】String类,StringBuilder类,ArrayList类,Object类(toString,equals,hashCode)

    文章目录 1.String类:字符串常量在Java中不属于基本数据类型, 而是引用/类类型 1.1 使用:new String(...) 1.2 判断:equals函数是用来比较两个对象是否相等 1. ...

  6. 【JAVA SE】第十章 String类、StringBuffer类和StringBuilder类

    第十章 String类.StringBuffer类和StringBuilder类 文章目录 第十章 String类.StringBuffer类和StringBuilder类 一.String类 1.创 ...

  7. String、StringBuilder类超详细笔记

    目录 String类 1. String类的声明 2. 创建String字符串对象的四种方式 3. String字符串的不可变性 String字符串不可变的原因 修改字符串内容的两种方式 4. 字符串 ...

  8. 进阶03 System、StringBuilder类

    System类 java.lang.System类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作,在System类的API文档中,常用的方法有: public static long c ...

  9. 【java笔记】StringBuilder类

    字符串拼接问题: String类的对象内容不可改变:字符串的底层是一个被final修饰的数组,不能改变,是一个常量 所以每当进行字符串拼接时,总是会在内存中创建一个新的对象 进行字符串的相加,内存中就 ...

最新文章

  1. Mysql5.7使用注意事项随笔
  2. python模块引用
  3. Java Thread源码分析
  4. 微信iOS版更新:可批量管理不常联系的朋友
  5. FinTech-Blockchain区块链
  6. 如何成为一名卓越的前端工程师
  7. css中哪些属性与创建多列相关,css3中的新增属性有哪些
  8. 【转】WebSocket详解(一):初步认识WebSocket技术
  9. linux搭建vsftp服务器_Linux配置VSFTP服务器的方法
  10. 合成孔径雷达算法与实现_[SAR笔记0]合成孔径雷达成像算法与实现
  11. Docker 开发环境正在崩坏!
  12. 【Qt点滴】UDP协议实例:简易广播实现
  13. vivadohlsdsp_FPGA硬件加速学习vivado hls-----------------卷积加速
  14. 鸿蒙os开机时间,再见了安卓!华为鸿蒙OS 2.0正式登场,开机只需19秒
  15. 【尚硅谷】React笔记
  16. Spring boot 项目中dcm文件转jpg文件
  17. My97DatePicker日期插件的使用
  18. SCOI2018滚粗记
  19. 技术债务的高息信用卡:深入了解那些知名的端到端机器学习平台
  20. Pytorch——报错解决:RuntimeError: Output 0 of SelectBackward is a view and is being modified inplace.

热门文章

  1. Python第二十天 shutil 模块 zipfile tarfile 模块
  2. Idris趋近发布1.0版
  3. MySQL5.7绿色版安装
  4. mxGraph实现按住ctrl键盘拖动图形实现复制图形功能
  5. openstack 安装
  6. InfoPath开发经验小节
  7. 初识 Angularjs1.x ,了解5个W和1个H
  8. Android获取当前位置,推荐使用百度地图SDK获取位置
  9. 个人永久性免费-Excel催化剂功能第26波-正确的Excel密码管理之道
  10. 涨姿势:Java 异常?尝试自定义异常