This free collection library comes from IT University of Copenhagen.
http://www.itu.dk/research/c5/
There is a video with one of the authors on Channel 9. I am t
I have been using the C5 library for a while now, and with much success. I find that C5 offers great benefit in programming to interface. For example, in System.Collections.Generic
, the IList
interface doesn't offer all of the functionality of the ArrayList
and LinkedList
implementations. Conversely, in C5, you can access all the functionality of the ArrayList
and LinkedList
just by holding a C5.IList
.
As well, the original authors took much care to document the asymptotic speed of many critical operations, such as collection count, contains, and indexing. The library internally uses these properties when doing operations between collections to determine which collection would be faster as the "actor".
As well, while not updated in a while, the C5 documentation book is an amazing resource that provides clear documentation on the library.
I've used it in the past and there are a couple of notes I must make:
All in all, a very nice library with some advanced data structures. Unfortunately, support for it is very lacking, as you can see from the fact that new releases (bugfixes, et al) range somewhere from 6 months to a year.
Note: Starting with Mono 2.0, C5 is bundled as a 3rd party API, which I believe to be a wonderful show of faith in the product from the Mono team.
In addition to that omer van kloeten's points.
The open source licence is MIT (comparable to BSD licence) this means that if you need make changes to the library you don't have to open-source the changes. (this might be a problem with some companies). For GPL-type licences this can be a problem.