1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

May be of interest to dotNET Developers

Discussion in 'Tools programming' started by scruffyduck, 18/10/06.

  1. scruffyduck

    scruffyduck Administrator Staff Member FSDevConf team Resource contributor

    Joined:
    17/9/05
    Messages:
    24,126
    Country:
    wales
    I was hunting about looking at different Tree data structure implementations and I came across this link:

    www.itu.dk/research/c5

    C5 seems to be a comprehensive set of collection classes. One of the things that I find is needed in most of my applications is a suitable collection. I have tended to use something inherited from the hash table.

    I'm not very good with stuff where the only documentation is property and method descriptions. This has a good 'book' in pdf format describing different collection types and they are implemented in a class library.

    Just thought I'd share it :D
  2. lmoelleb

    lmoelleb

    Joined:
    23/4/05
    Messages:
    266
    At a first glance they do appear to be decent - and being a project from ITU I would guess the algorithms are pretty optimal, so for now I do not see any reasons not to use these.

    You should notice that the hash table is dead and burried. It was a disaster introduced in .NET 1.0 due to the lack of generics (along with ArrayList and the other horror-storries). You should use the List and Dictionary collections instead - they work fine, but for one or another reason Microsoft decided that collections should not have events, as this actually would mean people could use them (and we can't sudently introduce useful collections after having told everyone that the collections in 1.0/1.1 is all you need).

    As Microsoft themselves needed events on the list (obviously), they introduced the BindingList in the ComponentModel namespace. Unfortunately this one is polluted with properties that simply do not belong in the data model (you can't set the sorting on the datamodel as the collection can obviously be used in two views with different sorting at the same time).

Share This Page