在哪种情况下我们需要ReadOnlyCollection?

时间:2012-10-31 07:22:27

标签: .net-4.5

Dotnet 4.5引入了ReadOnlyCollection。我的问题是它的实际用途是什么?我们可能需要哪种场景这种数据结构?

3 个答案:

答案 0 :(得分:1)

当您的API向收集者返回集合对象时,您需要只读集合,复制过于昂贵,并且您希望远离返回IEnumerable<T>。在需要对返回的集合进行随机访问的情况下,这通常是理想的。

答案 1 :(得分:1)

当您想要返回调用者无法修改的集合时,您仍然希望保证IList提供IEnumerable,例如IEnumerable。一个免费的.Count属性,一个索引器以及多次安全迭代它的能力,这些都不能保证{{1}}。

答案 2 :(得分:0)

此类在多线程应用程序中很有用。在多线程环境中,拥有一组对象可能是一个真正的问题,这可能会被其他一些线程所改变。这确保了线程安全并降低了代码的复杂性。