我正在 .NET 中开发一个项目,不幸的是使用旧的 .NET 2.0 框架(由于更新许多客户端的困难,验证更新版本的框架以安装在许多计算机上,等等......)。
我看到大多数集合类都来自 .NET 4 框架。 如果我需要 Sets 和 Maps 但我需要使用 .NET 2.0 框架,您会推荐使用什么?我应该从头开始实现我想使用的每个集合吗?
除了 System.Collections.Generic 命名空间之外,还有更多我不知道的集合吗? (此处引用:
http://msdn.microsoft.com/en-us/library/system.collections.generic%28v=vs.80%29.aspx )
我想最好的决定是说服必要的人将所有客户端更新到 4.5 .NET 框架,因为这将带来更多的发展可能性,而且这个版本会带来很多改进。但我不确定我是否能够改变这一点。那么如果你处于我的位置,你会怎么做?
感谢阅读。 问候。
请您参考如下方法:
I have seen that the majority of collection classes are from the .NET 4 framework.
这根本不是真的。 System.Collections.Concurrent命名空间在 .NET 4 中开始发挥作用,但大多数通用集合在 .NET 2 中出现。
.NET 3.5 只有几个新的 - 我怀疑最重要的是 HashSet<T> .
最最常用的集合(除了数组)可能是:
-
List<T> -
Dictionary<TKey, TValue> -
LinkedList<T> -
Queue<T> -
Stack<T>
...前两个方式比后三个使用更广泛。所有这些都在 .NET 2 中。
另一个需要注意的重要区别是 LINQ:.NET 3.5 引入了 LINQ,但您可以针对 .NET 2.0 使用 LINQ to Objects 的替代实现(例如 LINQBridge)。如果您拥有现代版本的 Visual Studio,这会很有效,允许您使用 C# 3 和更高版本的一些语言功能,即使您的目标是 .NET 2。
