通过指针删除对象

本文关键字:对象 删除 指针 | 更新日期: 2023-09-27 18:27:46

我有一个指向标签的标签数组,例如

label_array[i] = a_label;

数组具有全局性,而标签具有函数作用域。是否可以通过数组删除标签?

通过指针删除对象

通常,只需将对象的引用设置为null就可以处理对象,垃圾收集器将为您处理这些对象但是并非所有对象都可以通过将其引用设置为null来进行处理。事实上,所有实现IDisposable的对象都应该通过调用它们的Dispose方法来处理,就像GDI对象需要显式调用Dispose来释放资源一样(有关详细信息,请参阅此链接)

也就是说,如果a_label是WinForms Label,那么您应该执行以下操作来处理它:

// REMOVE THE LABEL FROM THE PARENT CONTAINER FIRST 
// AND THEN DO THE FOLLOWING
label_array[i].Dispose();
label_array[i] = null;

编辑为了强调@Groo在下面的评论中提到的内容,请确保在处理Label之前将其从父容器中删除,谢谢@Groo!