在.NET C#中的集合操作

5
我现在正在处理一个与粗糙集相关的项目。该项目使用了很多集合操作和处理。我一直在使用字符串操作作为集合操作的临时措施。这个方法一直运行良好,直到我们需要通过算法处理大量数据(大约每个记录有40多列,总共500,000条记录)。
我知道在.NET 2.0中没有集合数据结构(当我开始这个项目时,2.0是最新版本),我想知道是否有任何库可以在.NET C#中提供快速的集合操作,或者3.5是否已添加本地集合数据结构。
谢谢。
9个回答

11

5

2
更新:这是针对 .Net 2.0 的。对于 .Net 3.5,请参考 aku、Jon 的帖子。
这是一个关于在 .Net 中高效表示集合的良好参考资料。

2

也许值得看一下C5,它是一个通用的.NET集合库,包括集合。

请注意,我没有深入研究过它,但它似乎是一个非常棒的集合库。


1

1

我一直在.NET 2.0中滥用字典类作为集合:

private object dummy = "ok";

public void Add(object el) {
  dict[el] = dummy;
}

public bool Contains(object el) {
  return dict.ContainsKey(el);
}

0

你可以在C# 3.0中使用Linq to Objects。


0
你曾经想过使用 F# 吗?这似乎是函数式编程语言的工作。

0
你应该看一下C5通用集合库。这个库是通过提供缺失的结构以及用一组设计良好的接口和泛型类替换现有的结构,系统地修补.NET类库中的漏洞。
其中之一是HashSet<T> - 基于线性哈希的通用Set类。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接