C# 如何声明IVector的数组<;双倍>;^C+中的点+;?
我的Direct2D应用程序中的一个小帮助。我的C++应用程序中有<代码> IVector ^点<代码>集合。我将从我的C#代码中设置此点集合。因此,我可以将C# 如何声明IVector的数组<;双倍>;^C+中的点+;?,c#,c++-cli,windows-store-apps,direct2d,C#,C++ Cli,Windows Store Apps,Direct2d,我的Direct2D应用程序中的一个小帮助。我的C++应用程序中有 IVector ^点集合。我将从我的C#代码中设置此点集合。因此,我可以将IList从我的C#设置为IVector^点,以获得双精度列表 这里是我的要求,我必须将C++的代码集>双倍[] /代码>设置为C++代码。在C语言中,我们可以简单地用以下语法List声明集合。但是,对于C++,我是新手,我对Windows商店应用程序中C++库中的可用API不太熟悉。谁能帮我一下吗。?。所以,最终我的要求是简单的两条线:“我应该能够从我的
IList
从我的C#设置为IVector^
点,以获得双精度列表
这里是我的要求,我必须将C++的代码集>双倍[] /代码>设置为C++代码。在C语言中,我们可以简单地用以下语法
List
声明集合。但是,对于C++,我是新手,我对Windows商店应用程序中C++库中的可用API不太熟悉。谁能帮我一下吗。?。所以,最终我的要求是简单的两条线:“我应该能够从我的C代码中把列表/code >设置成我的C++库。”
非常感谢您的帮助
-David C我不能100%确定您的问题是什么,因为您根本没有显示任何代码,但我认为您可能只是被数组语法绊倒了
在C++/CLI中,可以使用方括号(double[]
)声明数组,这是可行的,但它是非托管数组。您不能将其作为托管类中的字段,将其传递给托管API并不容易
托管数组的语法为array
。这是一个引用类型,因此当您有此类型的变量时,您将需要^
array<double>^ buffer = gcnew array<double>(1024);
array^buffer=gcnewarray(1024);
因此,您在C#中的列表
会变成在C++/CLI中的列表
。您应该澄清这是C++/CLI(尽管知识渊博的各方会马上拿起它)。简而言之,是的,你可以做你想做的事,有很多方法。看见