需要帮助理解 C# 中的“只读”

Leo*_*Gee -1 c# collections readonly

我正在努力解决这个问题。这4个有什么区别?

 1. private ObservableCollection<T> _myObservableCollestionOfTs
 2. private readonly ObservableCollection<T> _myObservableCollestionOfTs
 3. private ReadOnlyObservableCollection<T> _myObservableCollestionOfTs
 4. private readonly ReadOnlyObservableCollection<T> _myObservableCollestionOfTs
Run Code Online (Sandbox Code Playgroud)

感谢您的任何帮助 :)

Rob*_*vey 5

  1. 对可变集合的可变引用。 集合的元素可以更改,并且指向集合的引用可以重新分配给不同的集合或设置为 null。

  2. 对可变集合的不可变引用。 集合的元素可以更改,但指向集合的引用不能更改。

  3. 对不可变集合的可变引用。 集合的元素无法更改,但引用可以指向不同的集合。

  4. 对不可变集合的不可变引用。集合的元素和指向集合的引用都不能更改。

只读集合只是普通集合的包装类,可防止修改集合的元素;请参阅此处的备注。