В чем разница между ReadOnlyCollection <T>и ReadOnlyCollectionBuilder <T>в .Net? - PullRequest
7 голосов
/ 21 февраля 2012

Сегодня я столкнулся с дилеммой: в чем разница между ReadOnlyCollection<T> и ReadOnlyCollectionBuilder<T> в .Net?

В ReadOnlyCollection<T> объекте мы не можем добавлять и удалять элементы.

Где, как в ReadOnlyCollectionBuilder<T> объекте, мы можем добавлять и удалять элементы.

Если мы можем добавлять и удалять элементы в ReadOnlyCollectionBuilder<T> объекте, то почему имя только для чтения?

1 Ответ

14 голосов
/ 21 февраля 2012

Согласно документация , ReadOnlyCollectionBuilder - это просто компоновщик коллекций, доступных только для чтения.Идея состоит в том, что компоновщик изменчив, но будет использоваться только в небольшом объеме.Вы создали бы конструктор, добавили бы загрузку элементов, а затем вызвали ToReadOnlyCollection, чтобы эффективно создать представление данных только для чтения.(Это сбрасывает компоновщик, поэтому вы исключаете возможность изменения коллекции только для чтения после создания.)

...