Страница 1 из 1

все экземпляры класса попадают в рай?

СообщениеДобавлено: 27 фев 2021, 13:41
Октав
Я создал класс не наследованный от монобехевера
Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MyClass
{
    bool a = true;
    void MyMethod(float b)
    {
        //......
    }
}
 

а потом где-нибудь создал динамический массив с экземплярами этого класса
Синтаксис:
Используется csharp
public List<MyClass> listMyClass = new List<MyClass>();
MyClass _myClass = new MyClass();
listMyClass.Add(_myClass);
 

а потом где-нибудь я удалил из динамического массива этот экземпляр и на него ни где не осталось ссылок, например удаление произвел сам этот экземпляр передав собственную ссылку
Синтаксис:
Используется csharp
listMyClass.Remove(this);
 

то он существует или нет? Что происходит с классом который сам себя удалил из динамического списка? А в коде больше на него не осталось ссылок. Он весит где то в небытие?

Re: все экземпляры класса попадают в рай?

СообщениеДобавлено: 27 фев 2021, 14:19
Alkos26Rus
По идее уборщик мусора должен очистить память выделенную под него, но это не точно

Re: все экземпляры класса попадают в рай?

СообщениеДобавлено: 08 мар 2021, 12:47
tchezarre
Точно-точно. Вот такие "висячие" и называются "мусор". За ними следит/удаляет GC.