我有一个方法,它接受一个 IList<T>
并向其中添加内容。在某些情况下,我想将其传递给一个ConcurrentBag<T>
,但它没有实现IList<T>
或ICollection<T>
,只有非泛型的ICollection
,它没有Add
方法。
现在,我明白了 (也许) 为什么它不能实现IList<T>
- 因为它不是一个有序集合,所以对于它有索引器就没有意义了。但我不明白为什么它不能实现任何ICollection<T>
方法。
那么,为什么呢?还有,在.NET中有哪些线程安全的集合可以实现更强大的接口?
System.Collections.Concurrent
命名空间。 - William Mioch