这个免费的收藏库来自哥本哈根IT大学。
http://www.itu.dk/research/c5/
在第9频道上有一个作者的视频。我正在尝试学习如何使用这些集合,我想知道是否有人有更多的经验,或者你对这个特定的.NET集合库有什么想法。你喜欢它们的设计方式,你喜欢它们的性能以及它们的主要问题是什么?
答案 0 :(得分:18)
我过去曾经使用它,我必须做几个注意事项:
总而言之,这是一个非常好的库,带有一些高级数据结构。不幸的是,对它的支持是非常缺乏的,正如你可以看到新版本(bugfixes等)的范围从6个月到一年不等。
注意:从Mono 2.0开始,C5为bundled as a 3rd party API,我相信这是对Mono团队产品的一种精彩表现。
答案 1 :(得分:7)
我一直在使用C5库一段时间,并取得了很大的成功。我发现C5在编程接口方面提供了很大的好处。例如,在System.Collections.Generic
中,IList
接口不提供ArrayList
和LinkedList
实现的所有功能。相反,在C5中,只需按住ArrayList
即可访问LinkedList
和C5.IList
的所有功能。
同样,原作者非常谨慎地记录了许多关键操作的渐近速度,例如集合计数,包含和索引。在集合之间执行操作时,库在内部使用这些属性,以确定哪个集合作为“actor”更快。
同样,虽然暂时没有更新,但C5文档手册是一个了不起的资源,可以提供有关库的清晰文档。
答案 2 :(得分:1)
除了omer van kloeten的观点。
开源许可证是MIT(与BSD许可证相当),这意味着如果您需要对库进行更改,则不必开源更改。 (这可能是一些公司的问题)。对于GPL类型的许可证,这可能是一个问题。