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

猜你喜欢

转载自www.cnblogs.com/bbc2020/p/12460687.html