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

Достижимость объектов в C#

Сборщик мусора ориентируется не на время создания объекта, а на то, можно ли до него добраться из текущего кода.

Достижимость означает: существует ли переменная, поле или элемент коллекции, через которые программа может обратиться к объекту. Пока хотя бы одна такая ссылка есть, объект остается в памяти.

Две переменные могут указывать на один объект:

Counter? first = new Counter(); Counter second = first; second.value = 5; Console.WriteLine(first.value); class Counter { public int value; }

Объект достижим и через first, и через second. Если обнулить одну ссылку, вторая все еще держит объект:

first = null; Console.WriteLine(second.value);

Создайте класс Note с полем text, две переменные на один объект, измените текст через вторую и выведите через первую.

Обнулите одну из ссылок и убедитесь, что объект все еще доступен через вторую переменную.

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