Würden Sie aufgrund Ihrer Erfahrung damit die Verwendung der „C5 Generic Collection Library für C# und CLI“ empfehlen?

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

  •  09-06-2019
  •  | 
  •  

Frage

Diese kostenlose Sammlungsbibliothek stammt von der IT-Universität Kopenhagen.

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

Auf Channel 9 gibt es ein Video mit einem der Autoren.Ich versuche zu lernen, wie man diese Sammlungen verwendet, und frage mich, ob jemand mehr Erfahrungen hat oder was Sie von dieser speziellen Sammlungsbibliothek für .NET halten.Gefällt Ihnen die Art und Weise, wie sie gestaltet sind, gefällt Ihnen ihre Leistung und was waren Ihre größten Probleme mit ihnen?

War es hilfreich?

Lösung

Ich habe es in der Vergangenheit verwendet und es gibt ein paar Anmerkungen, die ich machen muss:

  1. Die Bibliothek ist sehr gut, sehr schnell und sehr nützlich.Sie verfügt über viele sehr schöne Datenstrukturen, von denen ich einige nicht kannte, bevor ich mit der Nutzung dieser Bibliothek begann.
  2. Es ist Open-Source!Das ist ein großer Vorteil.
  3. Manchmal hat man nicht genau das, was man will.Meiner Erfahrung nach entschieden sich die Autoren der Bibliothek für eine sehr fehlerintolerante Haltung und machten für alles Ausnahmen.Dies veranlasste mich, einige fehlertolerante Methoden hinzuzufügen.

Alles in allem eine sehr schöne Bibliothek mit einigen erweiterten Datenstrukturen.Leider ist die Unterstützung dafür sehr mangelhaft, wie Sie daran erkennen können, dass neue Releases (Bugfixes usw.) zwischen 6 Monaten und einem Jahr liegen.

Notiz: Beginnend mit Mono 2.0 ist C5 gebündelt als Drittanbieter-API, was meiner Meinung nach ein wunderbarer Beweis des Vertrauens des Mono-Teams in das Produkt ist.

Andere Tipps

Ich verwende die C5-Bibliothek nun schon seit einiger Zeit und mit großem Erfolg.Ich finde, dass C5 große Vorteile bei der Programmierung zur Schnittstelle bietet.Zum Beispiel in System.Collections.Generic, Die IList Die Benutzeroberfläche bietet nicht alle Funktionen von ArrayList Und LinkedList Implementierungen.Umgekehrt können Sie in C5 auf alle Funktionen des zugreifen ArrayList Und LinkedList einfach durch Halten eines C5.IList.

Darüber hinaus haben die ursprünglichen Autoren großen Wert darauf gelegt, die asymptotische Geschwindigkeit vieler kritischer Vorgänge wie Sammlungszählung, Enthält und Indizierung zu dokumentieren.Die Bibliothek verwendet diese Eigenschaften intern, wenn sie Operationen zwischen Sammlungen durchführt, um zu bestimmen, welche Sammlung als „Akteur“ schneller wäre.

Auch wenn das C5-Dokumentationsbuch schon seit einiger Zeit nicht mehr aktualisiert wurde, ist es eine erstaunliche Ressource, die eine klare Dokumentation der Bibliothek bietet.

Zusätzlich zu den Punkten von Omer van Kloeten.

Die Open-Source-Lizenz ist MIT (vergleichbar mit der BSD-Lizenz). Das bedeutet, dass Sie die Änderungen nicht als Open-Source-Lizenz veröffentlichen müssen, wenn Sie Änderungen an der Bibliothek vornehmen müssen.(Dies könnte bei einigen Unternehmen ein Problem sein).Bei GPL-Lizenzen kann dies ein Problem sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top