1
我想将一个C++代码转换成c#,我遇到了一个双指针。我想知道如何在c#中实现双指针?什么是C#中的双指针等价物?
如果我说了,
MyClass **MyClasses;
,它是这样的初始化。
MyClasses = new MyClass*[ClassNums];
在类内部的另一个函数中,每个子项都被初始化为一个循环。
for(num = 0; num < classnum; num++)
{
MyClasses[subnum] = new MyClass();
}
而且这个双指针正在像这样使用。
MyClasses[subnum]->MyMethod();
这怎么能转换成c#?我试图使用一组MyClasses[]
,但我不太确定。另外,我无法测试它,因为它来自静态库,并且正在使用它的组件尚未转换为c#。我应该使用通用列表还是什么?
你可以给出原始代码,以及你尝试过的代码细节,但是我建议找到指针周围,避免它,除非它是完全necesarry –
显然,它正在像这样使用 MyClasses [subnum] - > MyMethod(); 这就是为什么我认为它应该是一个通用的列表。 –
最直接的“转换”将是'var MyClasses = new MyClass [10];';但是你的实际情况可能比这更复杂,而在C#中,你更喜欢'List'而不是数组。 –