2012-02-21 90 views
7

今天我遇到了一个两难的问题.net中的ReadOnlyCollection<T>ReadOnlyCollectionBuilder<T>有什么区别?.Net中的ReadOnlyCollection <T>和ReadOnlyCollectionBuilder <T>有什么区别?

ReadOnlyCollection<T>对象中,我们无法添加和移除项目。

ReadOnlyCollectionBuilder<T>对象中,我们可以添加和删除项目。

如果我们可以在ReadOnlyCollectionBuilder<T>对象中添加和删除项目,那么为什么只读名称?

回答

12

根据the documentation,ReadOnlyCollectionBuilder只是一个只读集合的​​构建器。这个想法是,建设者是可变的,但只能在一个小范围内使用。您将创建一个构建器,添加一个元素负载,然后调用ToReadOnlyCollection高效地创建数据的只读视图。 (这会重置构建器,因此您可以避免在创建后变更只读集合的​​可能性。)