如何在 C++/CLI 中声明托管列表

Pub*_*ame 1 c++-cli managed declaration list

使用 C++/CLI 我想声明一个列表的列表。
在声明常规列表时,我写道:

List<String^>^ NameOfList = gcnew List<String^>(2);

因此,我试图声明一个列表的列表,如:

List<List<String^>^>^ AnotherName = gcnew List<List<String^>(2)>(2);

但是,Microsoft Visual Studio 抱怨右手边的论点说它无效。

注意,我可以创建一个空列表

List<List<String^>^>^ AnotherName;

这工作正常。有人知道这里有什么问题吗?

Han*_*ant 5

您正在使用构造函数参数玩得不亦乐乎,它不是类型签名的一部分。它设置了列表的初始容量,在很多情况下 2 很有意义。最好不要全部使用它,直到您了解了Capacity 属性的作用

您正在寻找的代码类型的最佳猜测:

int size = 2;
List<List<String^>^>^ AnotherName = gcnew List<List<String^>^>(size);
for (int ix = 0; ix < size; ++ix) AnotherName->Add(gcnew List <String^>);
Run Code Online (Sandbox Code Playgroud)