目录
1.对于String
string是特殊的引用,每次重新赋值或者拼接时会分配新的内存空间。如果一个字符串经常改变会非常浪费空间。
2.对于StringBuilder
C#提供的一个用于处理字符串的公共类。
主要解决的问题:
修改字符串而不创建新的对象,需要频繁修改和拼接字符串可以使用它,可以提升性能。
使用前,需要引用命名空间。
using System.Text;
using System;
需要引用命名空间。否则无法使用。
StringBuilder str=new StringBuilder("123123");
本质是一个数组。
容量
StringBuilder存在一个容量问题,每次往里面添加时,会自动扩容。
//获取容量
Console.WriteLine(str.Capacity);
//获取字符长度
Console.WriteLine(str.Length);
//不定义房间内存前房间内存为16,每次都增加一倍,房间迁移会产生垃圾,但是比string要少很多。
增删查改