typedef struct __BBBB
{
char chCom[10];
}strBbbb;
typedef struct __CCCC
{
strBbbb strCom[20] ;
}strCccc;
这个C++的结构体转换成C#是啥样子啊?
{
char chCom[10];
}strBbbb;
typedef struct __CCCC
{
strBbbb strCom[20] ;
}strCccc;
这个C++的结构体转换成C#是啥样子啊?
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Auto)]
internal struct KeyEventRecord
{
internal bool keyDown;
internal short repeatCount;
internal short virtualKeyCode;
internal short virtualScanCode;
internal char uChar;
internal int controlKeyState;
}
public struct strBbbb
{
char[] chCom;
}
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Unicode, Pack = 20)]
public struct strCccc
{
strBbbb[] strCom;
}
不知道这样对不对,而且新的问题出来了strCccc怎么计算它的大小?
LZ可以参阅MSDN sizeof关键字用法
{
public char []chCom = new char[10];
}
struct __CCCC
{
public __BBBB []strCom = new __BBBB[20];
}
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Unicode, Pack = 1)]
public struct strBbbb
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
char[] chCom;
}
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Unicode, Pack = 1)]
public struct strCccc
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)]
strBbbb[] strCom;
}