この無料のコレクション ライブラリは、コペンハーゲンの IT 大学から提供されています。
http://www.itu.dk/research/c5/
チャンネル 9 に著者の 1 人とのビデオがあります。私はこれらのコレクションの使用方法を学ぼうとしていますが、他に経験のある人がいないかどうか、または .NET 用のこの特定のコレクション ライブラリについてどう思いますか? それらの設計方法、パフォーマンスは気に入っていますか。主な問題点は何でしたか?
この無料のコレクション ライブラリは、コペンハーゲンの IT 大学から提供されています。
http://www.itu.dk/research/c5/
チャンネル 9 に著者の 1 人とのビデオがあります。私はこれらのコレクションの使用方法を学ぼうとしていますが、他に経験のある人がいないかどうか、または .NET 用のこの特定のコレクション ライブラリについてどう思いますか? それらの設計方法、パフォーマンスは気に入っていますか。主な問題点は何でしたか?
私は過去にそれを使用しましたが、私がしなければならないいくつかのメモがあります:
全体として、いくつかの高度なデータ構造を備えた非常に優れたライブラリです。残念ながら、新しいリリース (バグ修正など) が 6 か月から 1 年程度の範囲であるという事実からわかるように、それに対するサポートは非常に不足しています。
注: Mono 2.0 以降、C5 はサードパーティ API としてバンドルされています。これは、Mono チームの製品に対する信頼の素晴らしい表れであると私は信じています。
私はしばらくの間C5ライブラリを使用しており、多くの成功を収めています。C5は、インターフェースへのプログラミングに大きなメリットがあることがわかりました。たとえば、System.Collections.Genericでは、IListインターフェイスはArrayListおよびLinkedList実装のすべての機能を提供するわけではありません。逆に、C5では、を押し続けるだけでArrayList、のすべての機能にアクセスできます。LinkedListC5.IList
同様に、元の作成者は、コレクションカウント、包含、インデックス作成など、多くの重要な操作の漸近速度を文書化するために細心の注意を払いました。ライブラリは、コレクション間で操作を行うときにこれらのプロパティを内部的に使用して、どのコレクションが「アクター」として高速であるかを判断します。
また、しばらくは更新されていませんが、C5ドキュメントブックは、ライブラリに関する明確なドキュメントを提供するすばらしいリソースです。
そのオマー・ヴァン・クローテンのポイントに加えて。
オープン ソース ライセンスは MIT (BSD ライセンスに相当) です。これは、ライブラリに変更を加える必要がある場合、その変更をオープン ソース化する必要がないことを意味します。(これは、一部の企業では問題になる可能性があります)。GPL タイプのライセンスの場合、これは問題になる可能性があります。