我的Direct2D应用程序中的一个小帮助。我的C ++应用程序中有IVector<double>^ points
个集合。我将从我的C#代码中设置这个积分集合。所以我可以将IList<double>
从我的C#设置为IVector<double>^
点,以获得双倍的列表。
这是我的要求,我必须将double[]
的集合设置为C ++代码。在C#中,我们可以使用以下语法List<double[]>
简单地声明集合。但由于我是C ++的新手,我对Windows应用商店应用中C ++库中的可用API并不熟悉。有人可以帮我解决这个问题。所以最终我的要求很简单,就是“我应该能够从我的C#代码中将List<double[]>
设置为我的C ++库”。
任何帮助都非常感激。
-David C
答案 0 :(得分:2)
我不是100%确定您的问题是什么,因为您根本没有显示任何代码,但我认为您可能只是在绊倒数组语法。
在C ++ / CLI中,您可以使用方括号(double[]
)声明一个数组,但这是有效的,但它是一个非托管数组。您不能将其作为托管类中的字段,并将其传递给托管API并不容易。
托管数组的语法是array<double>
。这是一种引用类型,因此当您拥有此类型的变量时,您将需要^
。
array<double>^ buffer = gcnew array<double>(1024);
因此,C#中的List<double[]>
在C ++ / CLI中变为List<array<double>^>
。