作者:命硬D小童鞋 | 来源:互联网 | 2022-12-06 19:46
1> BoltClock..:
好吧,如果你没有初始化你的收藏,你将无法使用它们.如果你打算使用一个集合,不妨尽快初始化它,这样你就可以使用它而不必担心空引用.
懒惰地初始化空集合是没有必要的.一个空集合初始化并不需要太多工作,并且一旦初始化就不会占用太多内存.即使您最终没有在应用程序的生命周期内填充它,也不会对性能产生可测量的影响.
一个非空集是有点的一个不同的故事.如果它是原始值的一小部分,它可能也不会产生太大的影响.但如果这是一个大型复杂对象的集合,在发布时不需要,那么懒得去做可能是明智之举.无论你是new
在属性声明中使用a 进行单独填充,还是new
按需填充和填充它,都是一个优先考虑的问题(以及你的应用程序是否依赖于集合是否存在 - 大多数应用程序询问是否收集是否填充,这使我们回到我的空集合点.
正如Damien_The_Unbeliever所指出的那样,你可能不希望你的集合属性可以被类本身以外的任何人设置,如果有的话.所有的集合操作都将在集合本身上执行,而不实际更改(或删除)集合,因此不需要setter,实际上应该省略它:
public IList Instructions { get; } = new List();