中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

C# Marshal.SizeOf

發布時間:2020-08-13 09:11:50 來源:網絡 閱讀:756 作者:Aonaufly 欄目:編程語言

對于整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; }
        }
    }
}

C# Marshal.SizeOf

其結果為26 . 3個ushort + 10個unicode字符 = 3X2 + 10X2 = 26

當然 : 如果沒有 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] 特性

則使用Marshal.SizeOf就是一個坑 , 誰知道String占多少字節???

向AI問一下細節

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

AI

平乐县| 正定县| 富民县| 南江县| 偏关县| 无极县| 大宁县| 建瓯市| 丰城市| 高阳县| 额济纳旗| 崇礼县| 巴南区| 电白县| 石楼县| 岳阳市| 微博| 绥棱县| 黔江区| 刚察县| 盖州市| 绩溪县| 驻马店市| 桑植县| 惠州市| 类乌齐县| 宁强县| 平乡县| 沙湾县| 遵义市| 恩平市| 启东市| 呼伦贝尔市| 库车县| 星子县| 土默特左旗| 米脂县| 金溪县| 长寿区| 鄂托克前旗| 乐昌市|