繁体   English   中英

我真的需要清除本地列表吗?

[英]Do I really need to clear a local list?

如果我有一个函数,并且在其中有一个像这样的字符串列表:

List<string> mylist = new List<string>();

我做了一些事情,然后在从函数返回之前做:

mylist.Clear();

真的需要明确吗? 还是gc会替我照顾事情?

我正在使用C#、. Net4.5,Windows。

不,您不需要清除它。 仅当您想使用现有列表并清除元素,以便可以将其与新元素一起使用时才如此。 一旦您的变量超出范围,它将进行GC处理。

如果您的列表由对象(引用类型实例)组成,则如果您有指向它们的单独变量,则这些引用可能会存在,但是当然,一旦超出范围,这些引用也将进行GC处理。 但是,它与列表无关。

不,您不应该那样做。

清除列表将清除存储实际值的支持数组 它将内存返回给OS。 垃圾收集器已经完成了所有这些工作(可能更有效)。 您只是为您和GC创建了额外的工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM