Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗csOpRsNd 156 of 163 menu
◀ ▶

Память без ручного удаления в C#

В C++ объект в куче удаляют командой delete. В C# для ссылочных типов такой команды нет.

Переменная хранит ссылку, а не сам объект. Присвоение user = null или новый new User() убирает старую связь. Если других ссылок на старый объект нет, он станет недостижимым, и сборщик освободит память без участия программиста.

Создадим объект и заменим ссылку:

User user = new User(); user.name = "john"; Console.WriteLine(user.name); user = new User(); user.name = "kim"; Console.WriteLine(user.name); class User { public string name = ""; }

После второго new переменная user указывает на новый объект. Старый объект с именем "john" больше не достижим через эту переменную.

Создайте объект Book, выведите название, затем присвойте переменной null и создайте новый объект с другим названием.

Создайте два объекта Counter подряд в одной переменной и выведите значение поля только у второго.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить