![]() |
1
64
如果在.NET 2.0或3.5中执行此操作,请编写一个扩展方法,如下所示:
然后,您可以这样清除它:
然后,当4.0出现时,您可以放弃扩展方法而选择4.0版本。 更新 :将容量设置为零可能不是个好主意。如果重用同一个实例,这将保证在附加到生成器时重新分配。但是,在将容量设置为非常小的值(如1)之前,不会释放生成器实例中的内存。Capacity属性的默认值为16。您可能需要考虑使用16,或者(尽管效率较低)将容量设置两次:
|
![]() |
2
28
在.NET 4.0中,您可以调用
这个
|
![]() |
3
15
创建新的StringBuilder。旧的方法维护与之相关联的资源(例如,最大长度的缓冲区),这些资源最好只是被垃圾收集掉。 |
![]() |
4
10
我认为你在做过早的优化。
我敢打赌
我认为创建一个新的StringBuilder是解决内存问题的最佳途径。和设置
|
![]() |
5
10
从上的社区内容 MSDN :
|
![]() |
6
5
在.NET框架中,引入了4种新方法
下面是这个例子。
|
![]() |
7
2
如果您希望减少内存使用,我将使用clr profiler,使用上面其他人描述的方法,检查StringBuilder对象在其生命周期中使用的内存量。然后,您可以满足自己,您选择的选项适合您的需求,并释放您需要的资源。 |
![]() |
8
1
我想最好的清理方法是使用
编辑 我希望这是最好的解决办法。
|
![]() |
9
0
只需调用clear()方法,只需设置长度=0, 如果我们想保存内存,也可以将容量设置为0
|
![]() |
10
0
|
![]() |
Emopusta · 从后端到前端的图像路径不工作 2 年前 |
![]() |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
![]() |
Niyazi Babayev · 如何在表达式中动态应用表达式? 2 年前 |
|
Dansih · .Net核心自定义身份验证方案 2 年前 |
![]() |
lolorekkk · 面板插入。NET WinForm 2 年前 |