如何在其中声明具有固定大小数组的结构?
我找到了解决方案,但它只适用于原始数据类型.我需要我的阵列类型MyStruct.
那么如何在其中声明一个包含其他结构数组的结构?
恩.
unsafe struct Struct1{
fixed int arrayInt[100]; // works properly
fixed Struct2 arrayStruct[100]; //not compile
}
Run Code Online (Sandbox Code Playgroud)
我的同事找到了这样做的工作方式.我认为这是正确的方式.
[StructLayout(LayoutKind.Sequential)]
public struct Struct1
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = sizeOfarray)]
private Struct2[] arrayStruct;
}
Run Code Online (Sandbox Code Playgroud)
你不能.固定数组仅限于bool,byte,char,short,int,long,sbyte,ushort,uint,ulong,float或double.
请参阅http://msdn.microsoft.com/en-us/library/zycewsya%28v=VS.80%29.aspx
执行互操作的一种方法可能是在C++中编写一个包装程序集,它可以转换为更加C#-interop友好的结构.
| 归档时间: |
|
| 查看次数: |
9678 次 |
| 最近记录: |