Выбор между обычной, immutable и frozen в C#
Классы List и Dictionary удобны, пока данные накапливаются в одном месте. Immutable-коллекции возвращают новую версию при изменении - ими делятся между компонентами, не опасаясь скрытой записи.
Типы FrozenDictionary и FrozenSet строят один раз и дальше не правят. Ими удобно держать справочник, который задают при старте и потом только читают, например коды ошибок.
Снимем неизменяемую копию из обычного списка. Копия не увидела добавление 99 в исходный список:
using System.Collections.Immutable;
List<int> mutable = new() { 1 };
ImmutableList<int> imm = mutable.ToImmutableList();
mutable.Add(99);
Console.WriteLine(imm[0]); // выведет 1
Console.WriteLine(imm.Count); // выведет 1
Опишите, какую неизменяемую коллекцию вы бы взяли для конфигурации на старте приложения.