c# - 什么是 C# 中 C++ vector 的良好替代品?

标签 c# .net c++

我正在努力提高我在其他语言方面的技能,因为我使用 c++ 作为我的主要编程语言。我目前的项目正在敲定 C#.net,因为我听说它对于同时了解 c++ 和 VB.net 的人来说是一种很好的中间语言。

通常,当在 c++ 中处理未知数量的元素时,我会将变量声明为 vector ,然后从那里开始。 c# 中似乎不存在 vector ,而在我当前的程序中,我一直在使用 arraylists,但我开始怀疑使用 arraylists 是否是一个好习惯,因为我在某处读到它是 .net 1.0 的遗留物

很长的问题简短 - c# 最常用的列表类型是什么?

最佳答案

如果您的目标是 .NET 2.0 之前的版本,请使用 ArrayList

如果您的目标是 .NET 2.0+,则使用泛型类型 List<T>

您可能需要寻找其他 C++ 标准容器的替代品,因此可以将 C++ 映射到 .NET 2.0+ 类似类型或等价物:

std::vector - List<T>
std::list - LinkedList<T>
std::map - Dictionary<K, V>
std::set - HashSet<T>
std::multimap - Dictionary<K, List<V>>

关于c# - 什么是 C# 中 C++ vector 的良好替代品?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2166475/

相关文章:

.net - DrawThemeTextEx 和修剪发光

c++ - 为什么左值引用不能绑定(bind)到 const "forwarding references"?

c# - WPF 面板标题标题

c# - 在另一个程序之上显示覆盖

c# - 为什么 WindowsIdentity 类在 .NET Core 中不可见

c++ - 静态变量与成员

python - Pybind11:在C++函数中返回大型数组会显着增加python中的计算时间

c# - 如何接受 HTTP 400 和 HTTP 500 作为 Visual Studio 负载测试中的有效响应代码?

c# - 如何将 XmlNode 转换为 XElement?

c# - 在 Entity Framework 和 Linq to Entities 中使用规范模式和表达式