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

Новая версия после изменения в C#

Неизменяемая коллекция не переписывает себя. Операция Add создаёт новую версию, а старая остаётся у того, кто сохранил прежнюю ссылку.

Длину старой и новой версии легко сравнить. Если старая длина не выросла, правка осталась только в новой версии.

Добавим элемент и сравним длины a и b. Список a не изменился после Add. Если передать a другому коду, тот не увидит второй элемент:

using System.Collections.Immutable; ImmutableList<int> a = ImmutableList.Create(1); ImmutableList<int> b = a.Add(2); Console.WriteLine(a.Count); // выведет 1 Console.WriteLine(b.Count); // выведет 2

Соберите неизменяемый список из чисел 4 и 7, добавьте 9 и выведите длину исходного списка и нового.

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