Would you recommend using “The C5 Generic Collection Library for C# and CLI” based on your experience with it?

后端 未结 3 1432
醉梦人生
醉梦人生 2021-01-31 19:31

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

相关标签:
3条回答
  • 2021-01-31 19:41

    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.

    0 讨论(0)
  • 2021-01-31 19:51

    I've used it in the past and there are a couple of notes I must make:

    1. The library is very good, very fast and very useful. It has lots of very nice data structures, some of which I did not know before starting to use this library.
    2. It's Open-Source! This is a huge benefit.
    3. Sometimes you don't have exactly what you want. As far as my experience showed, the library's authors decided to go with a very fault-intolerant attitude, throwing exceptions about everything. This caused me to add a few fault-tolerant methods.

    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.

    0 讨论(0)
  • 2021-01-31 20:00

    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.

    0 讨论(0)
提交回复
热议问题