.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?