.net 类 SynchronizedReadOnlyCollection 有 4 个构造函数。
public SynchronizedReadOnlyCollection();
public SynchronizedReadOnlyCollection(object syncRoot);
public SynchronizedReadOnlyCollection(object syncRoot, IEnumerable<T> list);
public SynchronizedReadOnlyCollection(object syncRoot, params T[] list);
无参构造函数和只有锁对象的构造函数有什么用?创建集合的时候如果不填充集合就会一直为空?我错过了什么吗?
最佳答案
在某些时候,您可能需要一个空集合,例如如果您正在初始化一个类并且在调用构造函数时数据未知。如果您不分配空集合,则其他代码在尝试访问该字段/属性并抛出 NullReferenceException 时可能会失败。如果在稍后阶段提供数据,该代码只需用 SynchronizedReaOnlyCollection
的新填充实例替换该字段。
关于C#、SynchronizedReadOnlyCollection 及其构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3591818/