0

我的 Direct2D 应用程序中的一个小帮助。我的 C++ 应用程序中有IVector<double>^ points集合。我将从我的 C# 代码中设置此积分集合。所以我可以IList<double>从我的 C# 设置IVector<double>^点来获取双精度列表。

这是我的要求,我必须将集合设置为double[]C++ 代码。在 C# 中,我们可以使用以下语法简单地声明集合List<double[]>。但由于我是 C++ 新手,我对 Windows 应用商店应用程序中 C++ 库中可用的 API 不太熟悉。任何人都可以请你帮我解决这个问题。?所以最终我的要求很简单,只有两行“我应该能够List<double[]>从我的 C# 代码设置到我的 C++ 库”。

非常感谢任何帮助。

-大卫 C

4

1 回答 1

2

我不是 100% 确定你的问题是什么,因为你根本没有显示任何代码,但我认为你可能只是在数组语法上绊倒了。

在 C++/CLI 中,您可以使用方括号 ( ) 声明一个数组double[],这很有效,但它是一个非托管数组。您不能将其作为托管类中的字段,并且将其传递给托管 API 并不容易。

托管数组的语法是array<double>. 这是一个引用类型,所以^当你有一个这种类型的变量时你会想要。

array<double>^ buffer = gcnew array<double>(1024);

因此,你List<double[]>的 C# 变成List<array<double>^>了 C++/CLI。

于 2013-09-04T15:15:19.923 回答