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

Неизменяемые и замороженные коллекции в C#

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

Неизменяемая коллекция сама не меняется. Операция «добавить» не трогает прежнюю версию, а возвращает новую. Старая ссылка по-прежнему видит прежние элементы. Так удобно хранить историю и передавать набор, не боясь, что получатель его перепишет.

Замороженная коллекция устроена иначе. Её один раз собирают из готовых данных и после этого только читают. Изменить её нельзя даже через новую версию. Такой словарь или набор хорош как постоянный справочник: сборка чуть дороже, чтение потом быстрее.

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