91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#結構體數組間怎么轉化

發布時間:2021-12-03 09:27:59 來源:億速云 閱讀:195 作者:iii 欄目:編程語言

這篇文章主要講解了“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數組:

/**//// <summary>  /// 結構體轉byte數組  /// </summary>  /// <param name="structObj">要轉換的結構體</param>  /// <returns>轉換后的byte數組</returns>  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#結構體數組間怎么轉化這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

筠连县| 高碑店市| 平乐县| 玉环县| 墨玉县| 栖霞市| 淅川县| 新田县| 珲春市| 金寨县| 米林县| 芜湖县| 察哈| 新密市| 辉南县| 罗甸县| 铅山县| 晋宁县| 连山| 清河县| 南城县| 分宜县| 洛隆县| 呼图壁县| 闻喜县| 乌拉特后旗| 乌拉特中旗| 神木县| 石首市| 虞城县| 菏泽市| 辽宁省| 贺兰县| 甘孜县| 景德镇市| 集安市| 昭平县| 长岛县| 观塘区| 湛江市| 偏关县|