.net 4.5 在哪种情况下,我们需要ReadOnlyCollection?

.net 4.5 在哪种情况下,我们需要ReadOnlyCollection?,.net-4.5,.net 4.5,dotnet4.5已经推出。我的问题是它的实际用途是什么?在什么情况下我们可能需要这种数据结构?当API将收集对象返回给调用者时,您需要只读收集,复制成本太高,并且您希望避免返回IEnumerable。在需要对返回的集合进行随机访问的情况下,这通常是可取的。当您希望返回调用方不能修改的集合,但仍然希望获得IList提供的对IEnumerable的保证,例如free.Count属性,索引器和安全地对其多次迭代的能力,这两者在IEnumerable上都不能保证。此类在多线程应用程序中非常有用。在多线

dotnet4.5已经推出。我的问题是它的实际用途是什么?在什么情况下我们可能需要这种数据结构?

当API将收集对象返回给调用者时,您需要只读收集,复制成本太高,并且您希望避免返回
IEnumerable
。在需要对返回的集合进行随机访问的情况下,这通常是可取的。

当您希望返回调用方不能修改的集合,但仍然希望获得
IList
提供的对
IEnumerable
的保证,例如free.Count属性,索引器和安全地对其多次迭代的能力,这两者在
IEnumerable

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

在.Net 2.0中引入,只有像
IReadOnlyCollection
这样的对应接口是4.5特定的。