StringBuilder与string和String的区别

StringBuilder和string的区别

1.每次使用   System.String   类中的方法之一时,都要在内存中创建一个新的字符串对象,需要为该新对象分配新的空间.当在一个循环中将许多字符串连接在一起时,使用   StringBuilder   类可以提升性能。

2. StringBuilder   对象是动态对象,允许扩充它所封装的字符串中字符的数量,但是您可以为它可容纳的最大字符数指定一个值。此值称为该对象的容量.例如,可以创建   StringBuilder   类的带有字符串“Hello”(长度为   5)的一个新实例,同时可以指定该对象的最大容量为   25。当修改   StringBuilder   时,在达到容量之前,它不会为其自己重新分配空间。当达到容量时,将自动分配新的空间且容量翻倍。可以使用重载的构造函数之一来指定   StringBuilder   类的容量。

String和string的区别

从位置讲:

     1.String是.NET   Framework里面的String,小写的string是C#语言中的string

     2.如果把using System;删掉,没有大写的String了,System是.NET   Framework类库中的一个函数名.

从性质讲:

1.  string是关键字,String是类,string不能作为类、结构、枚举、字段、变量、方法、属性的名称

2.  用C#编写代码的情况下尽量使用小写的string,比较符合规范,如果在追求效率的情况下可以使用大写的String,因为最终通过编译后,小写的string会变成大写的String,可以给编译减少负荷,从而运行效率提高。

3.  string 类型表示 Unicode 字符的字符串,string 是 .NET Framework 中的 String 的别名,对字符串相等性的测试更为直观

原文地址:https://www.cnblogs.com/nidakun/p/2626351.html