.Net中是否有"设置"数据结构?

时间:2020-03-05 18:39:30  来源:igfitidea点击:

理想情况下,我正在寻找模板化的逻辑Set类。它将具有所有标准设置操作,例如联合,相交,等等,以及折叠重复项。

我最终仅使用Keys就根据CDictionary <>创建了自己的集合类。

解决方案

回答

我认为,'HashSet <T>'与我们获得的最接近。

回答

不,框架本身没有一个。大多数项目都使用一个名为Iesi.Collections的开源实现(即nHibernate)。这是有关它的CodeProject文章:

http://www.codeproject.com/KB/recipes/sets.aspx

回答

我不认为会有任何内置的东西,但是我知道网上有很多实现。关于这种事情,也有一些不错的文章:

这是关于有效表示数据结构的系列文章的第6部分。本部分重点介绍C#中的集合。

集合集合的实现
设置类的实现
设置类的另一种实现

最后...

实际上,我本人实际上已经将该库用作一年前左右执行的集合实现的基础。

回答

我见过的最好的设置实现是精彩的Wintellect的Power Collections的一部分:
http://www.codeplex.com/PowerCollections。

集合的实现可以在这里找到:
http://www.codeplex.com/PowerCollections/SourceControl/FileView.aspx?itemId=101886&changeSetId=6259
它具有所有预期的设置操作(联合,相交等)。

希望这可以帮助!

回答

我们是否签出了3.5中的HashSet?