C#StringBuilder和String浅析

Posted bbc2020

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#StringBuilder和String浅析相关的知识,希望对你有一定的参考价值。

C#语言还是比较常见的东西,这里我们主要介绍C#StringBuilder和String,包括介绍大量的字符串拼写或替换对某些指向进行进行操作时最好使用StringBuilder,不要使用String等方面。

C#StringBuilder和String区别

String在进行运算时(如赋值,拼接等)会产生一个新的实例,而StringBuilder则不会。所以在大量字符串拼接或替换对某些插入进行操作时最好使用StringBuilder,不要使用String

另外,对于StringBuilder和String我们不得不多说几句:

1.它是引用类型,在堆上分配内存

2.运算时会产生一个新的实例

3.String对象一旦生成不可改变(Immutable)

4.定义变量运算符(==和!=)是为了比较String对象(而不是引用)的值

C#StringBuilder和String示例:


  1. 使用系统;
  2. 使用System.Collections.Generic;
  3. 使用System.Text;
  4.  
  5. 命名空间Example22
  6. {
  7. 班级计划
  8. {
  9. 静态void Main(string [] args)
  10. {
  11. const int cycle = 10000 ;
  12.  
  13. long vTickCount = 环境 .TickCount;
  14. 字符串str = null ;
  15. 对于(int i = 0 ; i cycle ; i ++)
  16. str + = i.ToString();
  17. Console.WriteLine(“ String:{0} MSEL”,Environment.TickCount-vTickCount);
  18.  
  19. vTickCount = 环境 .TickCount;
  20. //看到这个变量名我就生气,奇怪为什么大家都使它呢?:)
  21. StringBuilder sb = new StringBuilder();
  22. 对于(int i = 0 ; i cycle ; i ++)
  23. sb.Append(i);
  24. Console.WriteLine(“ StringBuilder:{0} MSEL”,Environment.TickCount-vTickCount);
  25.  
  26. 字符串tmpStr1 = “ A” ;
  27. 字符串tmpStr2 = tmpStr1 ;
  28. Console.WriteLine(tmpStr1);
  29. Console.WriteLine(tmpStr2);
  30. //注意后面的输出结果,tmpStr1的值更改重新影响到tmpStr2的值
  31. tmpStr1 = “ B” ;
  32. Console.WriteLine(tmpStr1);
  33. Console.WriteLine(tmpStr2);
  34.  
  35. Console.ReadLine();
  36. }
  37. }
  38. }代孕微13802269370   代孕电13802269370   北京代孕电13802269370  上海代孕微13802269370

以上是关于C#StringBuilder和String浅析的主要内容,如果未能解决你的问题,请参考以下文章

StringBuilder && StringBuffer原理浅析

String StringBuilder StringBuffer 的区别? 什么情况下用“+”运算符进行字符串连接比调用 StringBuffer/StringBuilder对象的 append(代

C# stringbuilder为啥高效

使用StringBuilder, StringBuilder和String的区别

[C#.NET] 处理动态字符串应该使用 string.Format 或 StringBuilder

C# String.Substring 等效于 StringBuilder?