對于整Socket網絡通訊的人來說,packet這玩意一定不會陌生.但是要知道此類的字段字節(jié)總數,使用Marshal.SizeOf,無疑是一個非常好的選擇.這樣可以大大節(jié)省你計算字節(jié)數的時間.
為忠縣等地區(qū)用戶提供了全套網頁設計制作服務,及忠縣網站建設行業(yè)解決方案。主營業(yè)務為成都網站制作、網站建設、外貿網站建設、忠縣網站設計,以傳統(tǒng)方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
使用方法: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占多少字節(jié)???
                文章題目:C#Marshal.SizeOf
                
                本文地址:http://www.chinadenli.net/article14/gcesde.html
            
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站排名、品牌網站建設、網站策劃、網站設計公司、手機網站建設、用戶體驗
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)