一个不可变对象的值是不可更改的,这个说法正确吗?
我有两个涉及readonly
的情况想要了解:
如果我有一个集合并标记为
readonly
,像下面这样。我是否仍然可以调用_items.Add
?
而且对于下面的变量,如果以后我调用private readonly ICollection<MyItem> _items;
_metadata.Change
,它将更改Metadata
实例中的一些成员变量的内部值。那么_metadata
是否仍然是不可变的?
针对上述两个变量,我完全理解在初始化程序和构造函数之外无法直接给它们赋新值。private readonly Metadata _metadata;