21

この無料のコレクション ライブラリは、コペンハーゲンの IT 大学から提供されています。

http://www.itu.dk/research/c5/

チャンネル 9 に著者の 1 人とのビデオがあります。私はこれらのコレクションの使用方法を学ぼうとしていますが、他に経験のある人がいないかどうか、または .NET 用のこの特定のコレクション ライブラリについてどう思いますか? それらの設計方法、パフォーマンスは気に入っていますか。主な問題点は何でしたか?

4

3 に答える 3

18

私は過去にそれを使用しましたが、私がしなければならないいくつかのメモがあります:

  1. このライブラリは非常に優れており、非常に高速で、非常に便利です。とても素晴らしいデータ構造がたくさんありますが、このライブラリを使い始めるまで知らなかったものもあります。
  2. オープンソースです!これは大きなメリットです。
  3. 欲しいものを正確に持っていないこともあります。私の経験が示す限り、ライブラリの作成者は非常にフォールト不寛容な態度を取り、すべてについて例外をスローすることにしました。これにより、フォールト トレラントなメソッドをいくつか追加しました。

全体として、いくつかの高度なデータ構造を備えた非常に優れたライブラリです。残念ながら、新しいリリース (バグ修正など) が 6 か月から 1 年程度の範囲であるという事実からわかるように、それに対するサポートは非​​常に不足しています。

注: Mono 2.0 以降、C5 はサードパーティ API としてバンドルされています。これは、Mono チームの製品に対する信頼の素晴らしい表れであると私は信じています。

于 2008-09-07T07:51:41.273 に答える
7

私はしばらくの間C5ライブラリを使用しており、多くの成功を収めています。C5は、インターフェースへのプログラミングに大きなメリットがあることがわかりました。たとえば、System.Collections.Genericでは、IListインターフェイスはArrayListおよびLinkedList実装のすべての機能を提供するわけではありません。逆に、C5では、を押し続けるだけでArrayList、のすべての機能にアクセスできます。LinkedListC5.IList

同様に、元の作成者は、コレクションカウント、包含、インデックス作成など、多くの重要な操作の漸近速度を文書化するために細心の注意を払いました。ライブラリは、コレクション間で操作を行うときにこれらのプロパティを内部的に使用して、どのコレクションが「アクター」として高速であるかを判断します。

また、しばらくは更新されていませんが、C5ドキュメントブックは、ライブラリに関する明確なドキュメントを提供するすばらしいリソースです。

于 2008-10-16T16:46:32.753 に答える
1

そのオマー・ヴァン・クローテンのポイントに加えて。

オープン ソース ライセンスは MIT (BSD ライセンスに相当) です。これは、ライブラリに変更を加える必要がある場合、その変更をオープン ソース化する必要がないことを意味します。(これは、一部の企業では問題になる可能性があります)。GPL タイプのライセンスの場合、これは問題になる可能性があります。

于 2008-09-07T12:34:41.903 に答える