C++结构二维数组到C#
可能重复:
What does “Invalid managed/unmanaged type combination.” mean?C++结构二维数组到C#
我们将如何在C#
typedef struct tagBIRDMATRIX
{
short n[3][3]; // array of matrix elements
}BIRDMATRIX;
大小编码这些结构(用C++)应该是交叉产品中元素的数量。
struct BIRDMATRIX
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 9)]
short[,] n;
}
整洁的技巧,我试图使用'固定'与良好的'多维数组,但不编译。但是,你可以做这样的事情,比如固定短时间[3 * 3],但你真的更好。 – 2011-06-01 07:28:25
它出现错误,“错误坏数组声明符:要声明托管数组,声明一个固定大小的缓冲区字段,请在字段类型之前使用fixed关键字。 – LMC008 2011-06-01 07:31:26
@John,是啊,尽量远离C#中的固定和指针,如果你可以帮助它。他们在一种不会像两岁大的孩子那样对待你的语言中很方便,但是当你在c#中需要他们时通常会感到很痛苦。我喜欢.NET,但有时候,我只是想让我的指针回来。 – 2011-06-01 07:33:51
你是否收到错误信息?如果是这样,请给我们这些信息。否则,请查阅.Net pInvoke上的文档。 – 2011-06-01 07:14:34
Merlyn Morgan-Graham你说的对,它有一些相似之处。让我编辑我的问题。关于那个... ... – LMC008 2011-06-01 07:21:04