怎么把一个字节数组转换为结构

liukaiii 2004-11-24 01:15:10
byte[] bitArr=new byte[] {12,0,0,0,24,0,97,98,99,0};
struct st
{
int a;
short b;
string c;
}
用 Marshal.PtrToStructure 转换,不能处理后面的字符串
它把 97,98,99,0 当成了一个指针,实际上我想得到的是"abc"
...全文
174 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
liukaiii 2004-11-29
  • 打赏
  • 举报
回复
UP
liukaiii 2004-11-25
  • 打赏
  • 举报
回复
C# 怎么这样
turnmissile 2004-11-24
  • 打赏
  • 举报
回复
你看看这个数据结构就知道,最后一个数据应该是string 的引用,里面存放的应该是类似于指针的一个数据.你如果希望能够直接转换的话,只能把"abc"的字符串放在另外一个空间中,然后把这个字符串的地址分成byte array,存放在bitArr的后四位中.

否则,你只能把c的数据类型转换成btye[n],才能正确转换数据.
uffeng 2004-11-24
  • 打赏
  • 举报
回复
实在不懂 你的意思
trh 2004-11-24
  • 打赏
  • 举报
回复
up
TigerSuper 2004-11-24
  • 打赏
  • 举报
回复
我也想知道
UP

110,536

社区成员

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

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

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