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 的别名,对字符串相等性的测试更为直观