2012-02-21 14 views
7

Oggi mi sono imbattuto in un dilemma qual è la differenza tra ReadOnlyCollection<T> e ReadOnlyCollectionBuilder<T> in .Net?Qual è la differenza tra ReadOnlyCollection <T> e ReadOnlyCollectionBuilder <T> in .Net?

Nell'oggetto ReadOnlyCollection<T> non è possibile aggiungere e rimuovere elementi.

Dove come nell'oggetto ReadOnlyCollectionBuilder<T> è possibile aggiungere e rimuovere elementi.

Se è possibile aggiungere e rimuovere elementi nell'oggetto ReadOnlyCollectionBuilder<T>, perché il nome è di sola lettura?

risposta

12

Come da the documentation, ReadOnlyCollectionBuilder è solo un builder per raccolte di sola lettura. L'idea è che il builder è mutabile, ma dovrebbe essere usato solo in un piccolo ambito. Dovresti creare un builder, aggiungere un carico di elementi, quindi chiamare ToReadOnlyCollection per creare in modo efficiente una vista di sola lettura sui dati. (Ciò reimposta il builder, in modo da evitare la possibilità di modificare la raccolta di sola lettura dopo la creazione.)

Problemi correlati