请教wchar_t数组在C#中的转换
C中头文件定义包含如下结构体:
typedef struct tag_EngineInfo{
wchar_t TargetPath[256];
wchar_t TempPath[256];
wchar_t VolumeID[32];
A_UINT32 RecordRate;
A_INT32 FileNumber;
}EngineInfo;
现需在C#中重新申明该结构体,按照有些资料上所写,我曾经将wchar_t数组部分按照string形式编写,
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
public string TargetPath;
但是发现这种情况下,当创建实例后,内存中并没有生成256个wide char大小的固定空间,取该对象的size也与在C中获得的大小不同,请问正确的C#的申明方式应该是什么样的?