對于整Socket網絡通訊的人來說,packet這玩意一定不會陌生.但是要知道此類的字段字節總數,使用Marshal.SizeOf,無疑是一個非常好的選擇.這樣可以大大節省你計算字節數的時間.
成都創新互聯公司自成立以來,一直致力于為企業提供從網站策劃、網站設計、成都做網站、成都網站制作、電子商務、網站推廣、網站優化到為企業提供個性化軟件開發等基于互聯網的全面整合營銷服務。公司擁有豐富的網站建設和互聯網應用系統開發管理經驗、成熟的應用系統解決方案、優秀的網站開發工程師團隊及專業的網站設計師團隊。使用方法:Marshal.SizeOf( packet實例 )
using System; using System.Runtime.InteropServices; using CMD.com; namespace CMD { public class Program { static void Main(string[] args) { Myttee my = new Myttee(); my.bcc = 2; Console.WriteLine(Marshal.SizeOf(my)); Console.Read(); } } }
關于 Myttee:
//===================================================================== // // All right reserved // filename : Myttee // description : // // create by User at 2016/8/11 13:48:31 //===================================================================== using System.Runtime.InteropServices; namespace CMD.com { [StructLayout(LayoutKind.Sequential, Pack = 1, CharSet = CharSet.Unicode)] internal struct Myttee { public ushort wcc; public ushort bcc; private ushort ccc; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] public char[] MachineID; public void Init() { this.ccc = 10; this.MachineID = new char[] {'1', '2', '3'}; } public ushort MKK { get { return 1; } } } }
其結果為26 . 3個ushort + 10個unicode字符 = 3X2 + 10X2 = 26
當然 : 如果沒有 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] 特性
則使用Marshal.SizeOf就是一個坑 , 誰知道String占多少字節???
創新互聯www.cdcxhl.cn,專業提供香港、美國云服務器,動態BGP最優骨干路由自動選擇,持續穩定高效的網絡助力業務部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統配攻擊溯源,準確進行流量調度,確保服務器高可用性。佳節活動現已開啟,新人活動云服務器買多久送多久。
名稱欄目:C#Marshal.SizeOf-創新互聯
分享網址:http://vcdvsql.cn/article16/iidgg.html
成都網站建設公司_創新互聯,為您提供手機網站建設、自適應網站、小程序開發、App設計、微信小程序、虛擬主機
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯