Обычно вы можете избавиться от своих объектов, просто установив их ссылки на 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;
EDIT Просто чтобы выделить то, что @Groo упомянул в комментарии ниже, убедитесь, что вы удалили Label
из родительского контейнера перед его удалением, спасибо @Groo!