2012-02-21 2 views
7

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

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

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

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

ответ

12

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

Смежные вопросы