C#结构体数组间怎么转化
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要讲解了"C#结构体数组间怎么转化",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"C#结构体数组间怎么转化"吧!C#结构体数组间的转化问题:在
千家信息网最后更新 2026年11月02日C#结构体数组间怎么转化
这篇文章主要讲解了"C#结构体数组间怎么转化",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"C#结构体数组间怎么转化"吧!
C#结构体数组间的转化问题:在写C#TCP通信程序时,发送数据时,只能发送byte数组,处理起来比较麻烦,可以按以下方法实现:
(1)C#结构体数组转化之定义结构体:
//命名空间 using System.Runtime.InteropServices; //注意这个属性不能少 [StructLayoutAttribute( LayoutKind.Sequential, CharSet=CharSet.Ansi,Pack=1)] struct TestStruct ...{ public int c; //字符串,SizeConst为字符串的***长度 [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] public string str; //int数组,SizeConst表示数组的个数,在转换成 //byte数组前必须先初始化数组,再使用,初始化 //的数组长度必须和SizeConst一致,例test = new int[6]; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)] public int[] test; }(2)C#结构体数组转化之结构体转byte数组:
/**/////// 结构体转byte数组 /// /// 要转换的结构体 ///转换后的byte数组 public static byte[] StructToBytes(object structObj) ...{ //得到结构体的大小 int size = Marshal.SizeOf(structObj); //创建byte数组 byte[] bytes = new byte[size]; //分配结构体大小的内存空间 IntPtr structPtr = Marshal.AllocHGlobal(size); //将结构体拷到分配好的内存空间 Marshal.StructureToPtr(structObj, structPtr, false); //从内存空间拷到byte数组 Marshal.Copy(structPtr, bytes, 0, size); //释放内存空间 Marshal.FreeHGlobal(structPtr); //返回byte数组 return bytes; }
C#结构体数组转化的问题就向你介绍到这里,希望对你学习和了解C#结构体数组转化有所帮助。
感谢各位的阅读,以上就是"C#结构体数组间怎么转化"的内容了,经过本文的学习后,相信大家对C#结构体数组间怎么转化这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
数组
结构
C#
空间
内存
学习
问题
内容
大小
字符
字符串
长度
分配
一致
个数
就是
属性
思路
情况
数据
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网络科技
互联网科技网
湖南永感互联网科技有限公司
互联网科技深圳
远信互联网科技
浩特互联网科技
互联网女皇 腾讯科技
广州凡科互联网科技
互联网科技美容
天扬科技互联网广告
厦门千工互联网科技有限公司
语蝶互联网科技有限公司
晓花互联网科技有限公司网址
允成互联网科技有限公司融资
区块链结合互联网科技
互联网科技包装股
互联网界的黑科技
广州智享互联网科技
互联网科技大会大佬
科技发展第三阶段互联网时代
手磨咖啡
互联网金融 科技金融
华宇互联网科技
汇久创客互联网科技
沃里互联网科技
佩信高科技互联网
青岛中康互联网医疗科技有限公司
互联网软件和科技
福建互联网展示科技馆设计
互联网科技和医药行业