理想情况下,我正在寻找一个模板化的逻辑Set类.它将具有所有标准集合操作,例如Union,Intersection等,以及折叠重复项.
我最终基于C#Dictionary <>创建了自己的set类 - 只使用了Keys.
HashSet
我想,这是你最接近的.
我见过的最佳设置实现是Wintellect的Power Collections的一部分:http: //www.codeplex.com/PowerCollections.
可以在此处找到集合实现:
http://www.codeplex.com/PowerCollections/SourceControl/FileView.aspx?itemId = 101886&changeSetId = 6259
它具有所有预期的设置操作(并集,交叉等).
希望这可以帮助!
不,框架中没有一个原生的.大多数项目使用的开源实现(即nHibernate)称为Iesi.Collections.这是关于它的CodeProject文章:
http://www.codeproject.com/KB/recipes/sets.aspx
你有没有检查过3.5中的HashSet?
我不认为c#内置任何内容,但我知道网上有一些实现.关于这类事情还有一些好文章:
这是有效表示数据结构的系列文章的第6部分.本部分重点介绍C#中的集合.
一个实现一组收集的
一个实现一组类的
另一种实现一组类的
最后......
我实际上自己使用这个库作为我大约一年前做过的一组实现的基础.