真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C#結(jié)構(gòu)體數(shù)組間怎么轉(zhuǎn)化

這篇文章主要講解了“C#結(jié)構(gòu)體數(shù)組間怎么轉(zhuǎn)化”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“C#結(jié)構(gòu)體數(shù)組間怎么轉(zhuǎn)化”吧!

為古雷港等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及古雷港網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、古雷港網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

C#結(jié)構(gòu)體數(shù)組間的轉(zhuǎn)化問題:在寫C#TCP通信程序時(shí),發(fā)送數(shù)據(jù)時(shí),只能發(fā)送byte數(shù)組,處理起來比較麻煩,可以按以下方法實(shí)現(xiàn):

(1)C#結(jié)構(gòu)體數(shù)組轉(zhuǎn)化之定義結(jié)構(gòu)體:

//命名空間  using System.Runtime.InteropServices;   //注意這個(gè)屬性不能少  [StructLayoutAttribute(  LayoutKind.Sequential,  CharSet=CharSet.Ansi,Pack=1)]  struct TestStruct  ...{  public int c;  //字符串,SizeConst為字符串的***長度  [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]  public string str;  //int數(shù)組,SizeConst表示數(shù)組的個(gè)數(shù),在轉(zhuǎn)換成  //byte數(shù)組前必須先初始化數(shù)組,再使用,初始化  //的數(shù)組長度必須和SizeConst一致,例test = new int[6];  [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]  public int[] test;  }

(2)C#結(jié)構(gòu)體數(shù)組轉(zhuǎn)化之結(jié)構(gòu)體轉(zhuǎn)byte數(shù)組:

/**////   /// 結(jié)構(gòu)體轉(zhuǎn)byte數(shù)組  ///   /// 要轉(zhuǎn)換的結(jié)構(gòu)體  /// 轉(zhuǎn)換后的byte數(shù)組  public static byte[] StructToBytes(object structObj)  ...{  //得到結(jié)構(gòu)體的大小  int size = Marshal.SizeOf(structObj);  //創(chuàng)建byte數(shù)組  byte[] bytes = new byte[size];  //分配結(jié)構(gòu)體大小的內(nèi)存空間  IntPtr structPtr = Marshal.AllocHGlobal(size);  //將結(jié)構(gòu)體拷到分配好的內(nèi)存空間  Marshal.StructureToPtr(structObj, structPtr, false);  //從內(nèi)存空間拷到byte數(shù)組  Marshal.Copy(structPtr, bytes, 0, size);  //釋放內(nèi)存空間  Marshal.FreeHGlobal(structPtr);  //返回byte數(shù)組  return bytes;  }

C#結(jié)構(gòu)體數(shù)組轉(zhuǎn)化的問題就向你介紹到這里,希望對(duì)你學(xué)習(xí)和了解C#結(jié)構(gòu)體數(shù)組轉(zhuǎn)化有所幫助。

感謝各位的閱讀,以上就是“C#結(jié)構(gòu)體數(shù)組間怎么轉(zhuǎn)化”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)C#結(jié)構(gòu)體數(shù)組間怎么轉(zhuǎn)化這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!


文章題目:C#結(jié)構(gòu)體數(shù)組間怎么轉(zhuǎn)化
本文URL:http://weahome.cn/article/jdjshj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部