Consiglieresti di utilizzare "La libreria di raccolte generiche C5 per C# e CLI" in base alla tua esperienza con esso?

StackOverflow https://stackoverflow.com/questions/47432

  •  09-06-2019
  •  | 
  •  

Domanda

Questa libreria di raccolte gratuite proviene dall'Università IT di Copenaghen.

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

C'è un video con uno degli autori su Canale 9.Sto cercando di imparare come utilizzare queste raccolte e mi chiedevo se qualcuno ha più esperienze o cosa ne pensa di questa libreria di raccolte specifica per .NET.Ti piace il modo in cui sono progettati, ti piacciono le loro prestazioni e quali sono stati i tuoi maggiori problemi?

È stato utile?

Soluzione

L'ho usato in passato e ci sono un paio di appunti che devo fare:

  1. La libreria è molto buona, molto veloce e molto utile.Ha molte strutture dati molto carine, alcune delle quali non le conoscevo prima di iniziare a utilizzare questa libreria.
  2. È Open Source!Questo è un enorme vantaggio.
  3. A volte non hai esattamente quello che vuoi.Secondo la mia esperienza, gli autori della biblioteca hanno deciso di adottare un atteggiamento molto tollerante ai difetti, lanciando eccezioni su tutto.Ciò mi ha portato ad aggiungere alcuni metodi di tolleranza agli errori.

Tutto sommato, una libreria molto bella con alcune strutture dati avanzate.Sfortunatamente, il supporto è molto carente, come puoi vedere dal fatto che le nuove versioni (correzioni di bug, ecc.) variano da 6 mesi a un anno.

Nota: A partire da Mono 2.0, C5 lo è fornito in bundle come API di terze parti, che ritengo sia una meravigliosa dimostrazione di fiducia nel prodotto da parte del team Mono.

Altri suggerimenti

Utilizzo la libreria C5 ormai da un po' e con molto successo.Trovo che C5 offra grandi vantaggi nella programmazione dell'interfaccia.Ad esempio, nel System.Collections.Generic, IL IList l'interfaccia non offre tutte le funzionalità di ArrayList E LinkedList implementazioni.Al contrario, in C5 è possibile accedere a tutte le funzionalità del ArrayList E LinkedList semplicemente tenendo premuto a C5.IList.

Inoltre, gli autori originali hanno prestato molta attenzione a documentare la velocità asintotica di molte operazioni critiche, come il conteggio delle raccolte, il contenimento e l'indicizzazione.La libreria utilizza internamente queste proprietà quando esegue operazioni tra raccolte per determinare quale raccolta sarebbe più veloce come "attore".

Inoltre, sebbene non venga aggiornato da molto tempo, il libro della documentazione di C5 è una risorsa straordinaria che fornisce una documentazione chiara sulla libreria.

In aggiunta a ciò, i punti di Omer van Kloeten.

La licenza open source è MIT (paragonabile alla licenza BSD), ciò significa che se è necessario apportare modifiche alla libreria non è necessario rendere open source le modifiche.(questo potrebbe essere un problema con alcune aziende).Per le licenze di tipo GPL questo può rappresentare un problema.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top