c# - AsReadOnly 是否返回集合的副本?

标签 c# .net collections

In 想知道此方法是返回集合的副本还是仅返回 ReadOnlyCollection 的实例,后者将以某种方式包装原始集合,而不读取所有引用。

我必须明白如果它会浪费内存空间,它会复制所有指针到我的实例吗?

感谢您的回答。

最佳答案

您可以在这里找到:List(Of T).AsReadOnly Method

To prevent any modifications to List(Of T), expose List(Of T) only through this wrapper.

A collection that is read-only is simply a collection with a wrapper that prevents modifying the collection; therefore, if changes are made to the underlying collection, the read-only collection reflects those changes.

This method is an O(1) operation.

因为他们在最后一条声明中说,如果您更改源集合,只读集合将反射(reflect)这些更改,我相信这个包装器不会重新分配任何对象,但会执行您在问题中也描述的内容。

关于c# - AsReadOnly 是否返回集合的副本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7880500/

相关文章:

c# - 如何在 .NET 中获取双击键

c# - 你能提高这个 linq-to-xml 方法的性能吗?

c# - 如何在另一个应用程序写入文件时安全地复制文件,确保两个程序都不会崩溃

c# - .NET Framework中的线程安全类的示例?

oracle - 在 Oracle 中使用不同类型的 PL/SQL 集合的目的

c# - 在 .net 中重置 IIS 后经过身份验证的用户

c# - CLR 中的动态 sql 连接字符串

c# - .NET Core 和 System.Drawing

Jquery如何通过数组中的属性查找对象

delphi - TList <T> 的快速复制?