C++ STL集合和C#集合的比较?

Sco*_*ord 12 c# c++ collections stl

我还在学习C#,并且惊讶地发现a List<T>更像是a而std::vector不是a std::list.有人可以根据STL描述所有C#集合(或者如果STL比较困难,标准概念数据类型与维基百科链接?我希望该引用将广泛有用.

最感兴趣的集合列表包括(随意添加其他集合):

  • 排列
  • 名单
  • 数组列表
  • 哈希表
  • 字典
  • ListDictionary
  • SortedDictionary
  • 排序列表
  • 队列

编辑:我刚刚发现了一个可能感兴趣的类似问题:在stl C++和C#容器之间进行映射

Ste*_*ary 15

这是我发现的(忽略旧的非泛型集合):

从.NET集合值得注意的是失踪是"多"变体,例如multiset,multimap等等.然而,他们增加了一些非常有用的线程安全的集合:在"Concurrent-"变体,例如ConcurrentDictionary,ConcurrentQueue等等.

  • 你可能想用'unordered_map`,其中,虽然在技术上仍然没有*标准*,包括在TR1来代替`hash_map`,并且将包括C++ 0x中.对于`hash_set`->`unordered_set`也是如此.顺便说一句,另一个缺少的变体是`std :: deque`.据我所知,没有.NET等价物. (3认同)
  • 非常不幸的是,当容器不是列表时,微软的天才们选择了名称 List&lt;T&gt;。如果你真的想在未来很长一段时间内迷惑人们,这就是你决定名字的方式。 (2认同)