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

溫馨提示×

溫馨提示×

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

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

C#結構體構造函數的實例分析

發布時間:2021-11-03 09:03:40 來源:億速云 閱讀:245 作者:柒染 欄目:編程語言

這期內容當中小編將會給大家帶來有關C#結構體構造函數的實例分析,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

C#結構體構造函數的應用是如何的呢?

C#結構體構造函數的實例1、

    /// ﹤summary﹥      /// 啟動服務端的參數結構      /// ﹤/summary﹥      public struct SERVER_VIDEOINFO      {    /// ﹤summary﹥    /// 通道數據類型,是否支持電話線連接    /// ﹤/summary﹥    byte[] m_datatype;    /// ﹤summary﹥    /// 系統的通道個數    /// ﹤/summary﹥    byte m_channum;     /// ﹤summary﹥    /// 超時等待時間,1-300,單位:分鐘    /// 用來設置超時等待時間,   ///如果m_waittime沒有收到某個用戶的應答信號,切斷和該用戶的連接。    /// ﹤/summary﹥    uint m_waittime;     /// ﹤summary﹥    /// 目前沒有使用    /// ﹤/summary﹥    uint m_bufnum;    public SERVER_VIDEOINFO(byte channum, uint waittime, uint bufnum)    {  this.m_channum = channum;  this.m_waittime = waittime;  this.m_bufnum = bufnum;  this.m_datatype = new byte[64];    }      };

C#結構體構造函數的實例2.

    /// ﹤summary﹥      /// 啟動服務端的參數結構      /// ﹤/summary﹥      public unsafe struct SERVER_VIDEOINFO      {    /// ﹤summary﹥    /// 通道數據類型,是否支持電話線連接    /// ﹤/summary﹥    fixed byte m_datatype[64];    /// ﹤summary﹥    /// 系統的通道個數    /// ﹤/summary﹥    byte m_channum;     /// ﹤summary﹥    /// 超時等待時間,1-300,單位:分鐘    /// 用來設置超時等待時間,   ////如果m_waittime沒有收到某個用戶的應答信號,切斷和該用戶的連接。    /// ﹤/summary﹥    uint m_waittime;     /// ﹤summary﹥    /// 目前沒有使用    /// ﹤/summary﹥    uint m_bufnum;      };  /*  說明:C#中結構都有一個默認的不帶參數的構造函數, 用于對結構的字段進行初始化,并且結構的默認構造函數不能被重寫。  結構體之中定義的數組還可以通過構造函數傳參數進行初始化操作!  1和2的作用相同,但是用2的方式定義的話需要選中 “項目屬性/生成/允許不安全代碼"。  */

C#結構體構造函數的概念來自MSDN的資料:

對于C#結構體,結構與類共享大多數相同的語法,但結構比類受到的限制更多:

在結構聲明中,除非字段被聲明為 const 或 static,否則無法初始化。

結構不能聲明默認構造函數(沒有參數的構造函數)或析構函數。

由于結構的副本由編譯器自動創建和銷毀,因此不需要使用默認構造函數和析構函數。實際上,編譯器通過為所有字段賦予默認值(參見默認值表(C# 參考))來實現默認構造函數。結構不能從類或其他結構繼承。

結構是值類型。如果從結構創建一個對象并將該對象賦給某個變量,則該變量包含結構的全部值。復制包含結構的變量時,將復制所有數據,對新副本所做的任何修改都不會改變舊副本的數據。由于結構不使用引用,因此結構沒有標識;無法區分具有相同數據的兩個值類型實例。C# 中的所有值類型都繼承自 ValueType,后者繼承自 Object。

C#結構體構造函數的應用方面具有以下特點:

結構是值類型,而類是引用類型。

與類不同,結構的實例化可以不使用 new 運算符。

結構可以聲明構造函數,但它們必須帶參數。

一個結構不能從另一個結構或類繼承,而且不能作為一個類的基。所有結構都直接繼承自 System.ValueType,后者繼承自 System.Object。

結構可以實現接口。

結構可用作可為 null 的類型,因而可向其賦 null 值。

上述就是小編為大家分享的C#結構體構造函數的實例分析了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

安义县| 宜兰市| 于田县| 阿荣旗| 铁岭县| 济宁市| 桂阳县| 鄂尔多斯市| 台北县| 方正县| 成都市| 乌拉特中旗| 剑川县| 新蔡县| 宜兰市| 汤原县| 许昌市| 定西市| 礼泉县| 唐山市| 双峰县| 青州市| 西华县| 中牟县| 龙口市| 长治县| 盐津县| 信宜市| 克什克腾旗| 望都县| 织金县| 迁安市| 武威市| 佛坪县| 旺苍县| 宣恩县| 道孚县| 林州市| 军事| 衡南县| 吴江市|