编程语言
首页 > 编程语言> > c# – 继承ICollection的最基本的类是什么

c# – 继承ICollection的最基本的类是什么

作者:互联网

我需要一个通用的集合类,我可以添加,并枚举.由于ICollection< T>从IEnumerable< T>继承,该类实际上只需要继承ICollection< T>. BCL中是否存在一个简单的泛型类,它只是继承了ICollection< T>像CollectionBase的通用版本?如果没有,那么哪个班级最接近?

我猜List< T>这是我一直在使用但我不需要顺序方面.有什么更好的(我的意思是[更小的内存占用/更快的访问/更简单])?如果它存在,袋子将是完美的.

编辑1:在我的特定实例中,我正在与另一个IEnumerable连接,查询它,然后显示结果(没有特定的顺序).我不是想自己上课.我只需要多次制作一次性收藏品,我认为找到最好的一次性使用会很有用.因为我觉得我已经做了很多次类似的事情,我觉得我应该尽可能保持这个问题的通用性(没有双关语意),我现在知道的更好.

编辑2:感谢大家的答案,正如@BlueRaja指出的那样,任何简单的类都会有相同的开销,因此我认为我会坚持使用List< T>的原始方式.由于它们大致相同,我的“更容易打字”的愚蠢理由,以及“我不必带来另一种使用”并不是很糟糕的原因.

解决方法:

[smaller memory footprint/faster access/simpler]

它们将具有几乎相同的内存占用,如果使用ICollection,接口将不会更改.

真正重要的是哪种方法最适合您所需的操作:Linked-list可以更好地追加/删除(头/尾元素),而基于数组的列表具有随机访问权限.还有其他结构 – 您应该使用它取决于您的应用程序.

标签:c,net,icollection
来源: https://codeday.me/bug/20190627/1300073.html