StringBuilder对象怎么赋值为空?
你这个是追加空值还是指清空?
如果是加空值就直接 append(“”); 就行了
如果是请空的话,你可以直接重新new一个或者delete
StringBuilder s = new StringBuilder();s.delete(0, s.length());
string类和stringbuild类的区别为什么一定要有这两个类?
两个类的工作原理不同:String类是一种传统的修改字符串的方式,它确实可以完成把一个字符串添加到另一个字符串上的工作没错,但是在.NET框架下,这个操作实在是划不来。因为系统先是把两个字符串写入内存,接着删除原来的String对象,然后创建一个String对象,并读取内存中的数据赋给该对象。这一来二去的,耗了不少时间。
而使用System.Text命名空间下面的StringBuilder类就不是这样了,它提供的Append方法,能够在已有对象的原地进行字符串的修改,简单而且直接。
如果你要对某个字符串进行大量的添加操作,那么StringBuilder类所耗费的时间和String类简直不是一个数量级的。
string类型如何清零?
string类型清零有两种方:
(1)给字符串赋值空串。
std::string str;
str = “123”;
str = “”;//给字符串赋空串来清空
(2)调用std::string::clear()函数。
std::string str;
str = “123”;
str .clear();//调用std::string::clear()函数来清空字符串
在这两种方式中,方法二运行效率高些,所以应尽可能用第二种方法清空字符串。
C#缩小变量和数组的内存占用?
string是固定长度的,并且是引用类型。string zhi=”变量和数组 赋值之后占用1000字节。”;zhi=””
;第一句zhi引用内存中的长度1000的字符串。
第二句zhi又转而引用了一个空字符串,原先那个长度1000的字符串,就等待GC回收了。楼主如果对zhi这个字符串操作不是很频繁,就算了吧,因为GC会自动回收垃圾;如果字符串操作很频繁,请使用StringBuilder(可变字符串)代替。StringBuilder.Clear()方法直接清除为空字符串。