귀하의 경험을 바탕으로 "C# 및 CLI용 C5 일반 컬렉션 라이브러리"를 사용하는 것을 권장하시겠습니까?

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

  •  09-06-2019
  •  | 
  •  

문제

이 무료 컬렉션 라이브러리는 코펜하겐 IT 대학에서 제공됩니다.

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

채널 9에 작가 중 한 명이 등장하는 영상이 있습니다.저는 이러한 컬렉션을 사용하는 방법을 배우려고 노력하고 있으며 더 많은 경험이 있는 사람이 있는지 또는 이 특정 .NET용 컬렉션 라이브러리에 대해 어떻게 생각하는지 궁금합니다.디자인 방식이 마음에 드시나요? 성능이 마음에 드시나요? 그리고 주요 문제점은 무엇이었나요?

도움이 되었습니까?

해결책

나는 과거에 그것을 사용해 본 적이 있으며 작성해야 할 몇 가지 메모가 있습니다.

  1. 라이브러리는 매우 훌륭하고 빠르며 매우 유용합니다.여기에는 매우 훌륭한 데이터 구조가 많이 포함되어 있으며 그 중 일부는 이 라이브러리를 사용하기 전에는 몰랐습니다.
  2. 오픈 소스입니다!이것은 큰 이점입니다.
  3. 때때로 당신은 당신이 원하는 것을 정확히 가지고 있지 않습니다.내 경험에 따르면, 라이브러리 작성자는 모든 것에 대해 예외를 던지는 매우 무책임한 태도를 취하기로 결정했습니다.이로 인해 몇 가지 내결함성 메서드를 추가하게 되었습니다.

전체적으로 일부 고급 데이터 구조를 갖춘 매우 훌륭한 라이브러리입니다.불행하게도 새로운 릴리스(버그 수정 등)가 6개월에서 1년 정도 소요된다는 사실에서 알 수 있듯이 이에 대한 지원은 매우 부족합니다.

메모: Mono 2.0부터 C5는 타사 API로 번들로 제공됨, 저는 이것이 Mono 팀의 제품에 대한 훌륭한 믿음을 보여주는 것이라고 믿습니다.

다른 팁

나는 한동안 C5 라이브러리를 사용해 왔으며 많은 성공을 거두었습니다.저는 C5가 인터페이스 프로그래밍에 큰 이점을 제공한다는 것을 알았습니다.예를 들어, System.Collections.Generic, IList 인터페이스가 모든 기능을 제공하지는 않습니다. ArrayList 그리고 LinkedList 구현.반대로 C5에서는 다음의 모든 기능에 액세스할 수 있습니다. ArrayList 그리고 LinkedList 그냥 들고 있는 것만으로도 C5.IList.

또한 원저자는 컬렉션 수, 포함 및 인덱싱과 같은 많은 중요한 작업의 점근적 속도를 문서화하기 위해 많은 주의를 기울였습니다.라이브러리는 컬렉션 간 작업을 수행할 때 내부적으로 이러한 속성을 사용하여 "액터"로서 더 빠른 컬렉션을 결정합니다.

또한 C5 문서 책은 한동안 업데이트되지 않았지만 라이브러리에 대한 명확한 문서를 제공하는 놀라운 리소스입니다.

그 외에도 omer van kloeten의 요점이 있습니다.

오픈 소스 라이선스는 MIT(BSD 라이선스와 유사)입니다. 즉, 라이브러리를 변경해야 하는 경우 변경 사항을 오픈 소스로 제공할 필요가 없습니다.(일부 회사에서는 문제가 될 수도 있습니다.)GPL 유형 라이센스의 경우 이는 문제가 될 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top