请教wchar_t数组在C#中的转换

ELFBYW 2009-03-16 05:57:52
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#的申明方式应该是什么样的?
...全文
356 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ctan 2009-03-18
  • 打赏
  • 举报
回复
直接char
EveryCase 2009-03-17
  • 打赏
  • 举报
回复
顶 ~~~~~~~~~~~~~~~~~~~~·

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧