如图所示,第一行代码为变量stringBuilder分配了10个字符的内存,并赋值字符串“hello”,占用5个字符。
第二行代码ConsoleWriteLine(stringBuilder.ToString());会将值转换为string类型并打印到控制台,那么第二行的这个操作在转换为string时使用的内存是重新分配的5个字符的内存还是使用的stringBuilder变量所剩余的5个字符的内存?
不存在string变量使用stringBuilder变量的内存一说,只要返回string,就必须创建string对象,当然需要另外的内存。
重新创建一个字符串对象
看看你映射层路径,这样报错一般就是那个问题
https://www.jianshu.com/p/160c9be0b132
首先:StringBuilder和String是两个不同的对象,所以在使用StringBuilder对象的ToString方法后是需要创建一个新的String对象的。