1

我正在寻找与 winforms 项目一起使用的容器。我一开始是用std::vector的,但经过一番搜索,我发现在winforms项目中使用STL是错误的。我找不到任何关于任何 c++ winforms 容器的纪录片,所以我需要一个解决方案。

我正在使用 Visual Studio 2012。

4

2 回答 2

2

不知道他们为什么不给你投票,因为这实际上是 C++。这只是微软的版本。此外,您不需要“需要” stl 矢量或任何“特殊”容器。.Net 已经为其中一些东西提供了框架。通常混合托管和本机 C++ 是一个坏主意,但在某些情况下它工作得很好。

检查容器,如下所示:

List<int>^ list = gcnew List<int>;
list->Add(42);
array<String^>^ strarray = gcnew array<String^>(100);
strarray[0] = "Hello";

等等..

于 2013-09-22T17:36:33.003 回答
2

如果你想使用 stl,微软从 3.5 版本开始为 .net 框架提供它作为 STL/CLR。(详情见这里

但是 .net 框架在 System.Collections 命名空间中包含自己的容器(使用装箱/拆箱操作来存储值),用于所有版本(详见此处)和 System.Collections.Generic 命名空间(更多使用泛型,无需装箱/拆箱操作来存储值)从 2.0 版开始(详见此处)。
如果您想在控件中显示列表项(例如 ListBox 或 ComboBox),请使用 BindingList<(有关详细信息,请参见此处

合并答案!

于 2013-09-22T17:30:51.807 回答