日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
C#結(jié)構(gòu)體構(gòu)造函數(shù)的實(shí)例簡析

C#結(jié)構(gòu)體構(gòu)造函數(shù)的應(yīng)用是如何的呢?

C#結(jié)構(gòu)體構(gòu)造函數(shù)的實(shí)例1、

 
 
 
  1.     /// ﹤summary﹥  
  2.     /// 啟動(dòng)服務(wù)端的參數(shù)結(jié)構(gòu)  
  3.     /// ﹤/summary﹥  
  4.     public struct SERVER_VIDEOINFO  
  5.     {  
  6.   /// ﹤summary﹥  
  7.   /// 通道數(shù)據(jù)類型,是否支持電話線連接  
  8.   /// ﹤/summary﹥  
  9.   byte[] m_datatype;  
  10.   /// ﹤summary﹥  
  11.   /// 系統(tǒng)的通道個(gè)數(shù)  
  12.   /// ﹤/summary﹥  
  13.   byte m_channum;   
  14.   /// ﹤summary﹥  
  15.   /// 超時(shí)等待時(shí)間,1-300,單位:分鐘  
  16.   /// 用來設(shè)置超時(shí)等待時(shí)間,  
  17.  
  18. ///如果m_waittime沒有收到某個(gè)用戶的應(yīng)答信號(hào),切斷和該用戶的連接。  
  19.   /// ﹤/summary﹥  
  20.   uint m_waittime;   
  21.   /// ﹤summary﹥  
  22.   /// 目前沒有使用  
  23.   /// ﹤/summary﹥  
  24.   uint m_bufnum;  
  25.   public SERVER_VIDEOINFO(byte channum, uint waittime, uint bufnum)  
  26.   {  
  27. this.m_channum = channum;  
  28. this.m_waittime = waittime;  
  29. this.m_bufnum = bufnum;  
  30. this.m_datatype = new byte[64];  
  31.   }  
  32.     }; 

C#結(jié)構(gòu)體構(gòu)造函數(shù)的實(shí)例2.

 
 
 
  1.     /// ﹤summary﹥  
  2.     /// 啟動(dòng)服務(wù)端的參數(shù)結(jié)構(gòu)  
  3.     /// ﹤/summary﹥  
  4.     public unsafe struct SERVER_VIDEOINFO  
  5.     {  
  6.   /// ﹤summary﹥  
  7.   /// 通道數(shù)據(jù)類型,是否支持電話線連接  
  8.   /// ﹤/summary﹥  
  9.   fixed byte m_datatype[64];  
  10.   /// ﹤summary﹥  
  11.   /// 系統(tǒng)的通道個(gè)數(shù)  
  12.   /// ﹤/summary﹥  
  13.   byte m_channum;   
  14.   /// ﹤summary﹥  
  15.   /// 超時(shí)等待時(shí)間,1-300,單位:分鐘  
  16.   /// 用來設(shè)置超時(shí)等待時(shí)間,  
  17.  
  18. ////如果m_waittime沒有收到某個(gè)用戶的應(yīng)答信號(hào),切斷和該用戶的連接。  
  19.   /// ﹤/summary﹥  
  20.   uint m_waittime;   
  21.   /// ﹤summary﹥  
  22.   /// 目前沒有使用  
  23.   /// ﹤/summary﹥  
  24.   uint m_bufnum;  
  25.     };  
  26. /*  
  27. 說明:C#中結(jié)構(gòu)都有一個(gè)默認(rèn)的不帶參數(shù)的構(gòu)造函數(shù), 用于對結(jié)構(gòu)的字段進(jìn)行初始化,并且結(jié)構(gòu)的默認(rèn)構(gòu)造函數(shù)不能被重寫。  
  28. 結(jié)構(gòu)體之中定義的數(shù)組還可以通過構(gòu)造函數(shù)傳參數(shù)進(jìn)行初始化操作!  
  29. 1和2的作用相同,但是用2的方式定義的話需要選中 “項(xiàng)目屬性/生成/允許不安全代碼"。  
  30. */ 

C#結(jié)構(gòu)體構(gòu)造函數(shù)的概念來自MSDN的資料:

對于C#結(jié)構(gòu)體,結(jié)構(gòu)與類共享大多數(shù)相同的語法,但結(jié)構(gòu)比類受到的限制更多:

在結(jié)構(gòu)聲明中,除非字段被聲明為 const 或 static,否則無法初始化。

結(jié)構(gòu)不能聲明默認(rèn)構(gòu)造函數(shù)(沒有參數(shù)的構(gòu)造函數(shù))或析構(gòu)函數(shù)。

由于結(jié)構(gòu)的副本由編譯器自動(dòng)創(chuàng)建和銷毀,因此不需要使用默認(rèn)構(gòu)造函數(shù)和析構(gòu)函數(shù)。實(shí)際上,編譯器通過為所有字段賦予默認(rèn)值(參見默認(rèn)值表(C# 參考))來實(shí)現(xiàn)默認(rèn)構(gòu)造函數(shù)。結(jié)構(gòu)不能從類或其他結(jié)構(gòu)繼承。

結(jié)構(gòu)是值類型。如果從結(jié)構(gòu)創(chuàng)建一個(gè)對象并將該對象賦給某個(gè)變量,則該變量包含結(jié)構(gòu)的全部值。復(fù)制包含結(jié)構(gòu)的變量時(shí),將復(fù)制所有數(shù)據(jù),對新副本所做的任何修改都不會(huì)改變舊副本的數(shù)據(jù)。由于結(jié)構(gòu)不使用引用,因此結(jié)構(gòu)沒有標(biāo)識(shí);無法區(qū)分具有相同數(shù)據(jù)的兩個(gè)值類型實(shí)例。C# 中的所有值類型都繼承自 ValueType,后者繼承自 Object。

C#結(jié)構(gòu)體構(gòu)造函數(shù)的應(yīng)用方面具有以下特點(diǎn):

結(jié)構(gòu)是值類型,而類是引用類型。

與類不同,結(jié)構(gòu)的實(shí)例化可以不使用 new 運(yùn)算符。

結(jié)構(gòu)可以聲明構(gòu)造函數(shù),但它們必須帶參數(shù)。

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

結(jié)構(gòu)可以實(shí)現(xiàn)接口。

結(jié)構(gòu)可用作可為 null 的類型,因而可向其賦 null 值。

C#結(jié)構(gòu)體構(gòu)造函數(shù)的實(shí)例的相關(guān)內(nèi)容就向你介紹到這里,希望對你學(xué)習(xí)和了解C#結(jié)構(gòu)體構(gòu)造函數(shù)的應(yīng)用有所幫助。


當(dāng)前題目:C#結(jié)構(gòu)體構(gòu)造函數(shù)的實(shí)例簡析
文章鏈接:http://www.dlmjj.cn/article/dpcoppg.html