c# 如何表示一个char* 表示一个数组

aa866820263 2013-04-25 10:39:42
遇到个问题 在将delphi的程序转到c#的时候遇到个函数
Function _READSN(portno:integer;dt:pchar):integer;stdcall;far;external 'MFRC500.dll';
dt: array[0..15] of char;
_READSN(IcCom, dt) = 0
delphi 用一个 char* 表示了一个char数组地址··c#该如何表示?
...全文
319 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
aa866820263 2013-04-25
  • 打赏
  • 举报
回复
谢谢大家 我去看看
Trent1985 2013-04-25
  • 打赏
  • 举报
回复
看下这个http://dongtingyueh.blog.163.com/blog/static/4619453201302392757923/
Trent1985 2013-04-25
  • 打赏
  • 举报
回复
用IntPtr表示数组指针,然后在C#中在将IntPtr转成byte[]就OK了
quanben 2013-04-25
  • 打赏
  • 举报
回复
注意char*在C#对应的应该是byte[],因为C#的char是双字节。 而C#和delphi c/c++之类交互需要marshalling。通常这些指针在c#中对应为IntPtr,然后还要转换到需要在C#中访问的类型。 搜索一下c# marshalling还有p/invoke就应该有答案。

110,536

社区成员

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

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

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