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

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
編程入門:C#類型和C#變量

C#類型有兩種:值類型(value type)和引用類型(reference type)。值類型變量直接包括它們的數(shù)據(jù),而引用類型變量存儲的是它們的數(shù)據(jù)引用,后者被認為是對象。對于引用類型,有可能兩個變量引用相同的對象,因此對其中一個變量的操作可能影響另一個對象引用的對象。對于值類型,每個變量都有自己的數(shù)據(jù)拷貝,因此對一個變量的操作不可能影響其他變量(ref和out參數(shù)變量例外)。

創(chuàng)新互聯(lián)公司服務項目包括靜海網(wǎng)站建設、靜海網(wǎng)站制作、靜海網(wǎng)頁制作以及靜海網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,靜海網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到靜海省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!

C#的值類型進一步劃分為簡單類型(simple type)、枚舉類型(enum type)和結(jié)構(gòu)類型(struct type);C#的引用類型進一步劃分為類類型(class type)、接口類型(interface type)、數(shù)組類型(array type)和委托類型(delegate type)。

表1.1為整個C#類型系統(tǒng)的概述。

表1.1  C#類型系統(tǒng)的概述

8個整型類型分別支持8位、16位、32位和64位整數(shù)的有符號或者無符號格式。

兩個浮點類型,float和double,分別用32位單精度和64位雙精度的IEEE754格式表示。

decimal是128位的數(shù)據(jù)類型,適合財金和貨幣方面的計算。

C#的bool類型用于表示布爾值——true或者false。

在C#中,字符和字符串的處理使用Unicode編碼。char類型表示16位的Unicode編碼單元,string類型表示16位的Unicode編碼單元的序列。

表1.2總結(jié)了C#的數(shù)值類型。

表1.2  C#的數(shù)值類型

C#程序使用類型聲明創(chuàng)建新類型。類型聲明指定新類型的名字和成員。有5種C#類型可由用戶自定義:類類型、結(jié)構(gòu)類型、接口類型、枚舉類型和委托類型。

類類型定義了一個數(shù)據(jù)結(jié)構(gòu),它包括數(shù)據(jù)成員(字段)和函數(shù)成員(方法、屬性及其他)。類類型支持繼承和多態(tài),即派生類能夠擴展和特殊化基類的機制。

結(jié)構(gòu)類型與類類型相似,表示帶有數(shù)據(jù)成員和函數(shù)成員的結(jié)構(gòu)。然而,與類類型不同的是,結(jié)構(gòu)是值類型,不需要堆分配。結(jié)構(gòu)不支持用戶指定的繼承,所有的結(jié)構(gòu)類型隱式地繼承類型object。

接口類型定義了一個約定,作為一組函數(shù)成員命名的集合。實現(xiàn)接口的類或結(jié)構(gòu)必須提供接口函數(shù)成員的實現(xiàn)。接口可能從多個基接口繼承而來,類或結(jié)構(gòu)也可能實現(xiàn)多個接口。

枚舉類型是帶有命名常量的獨特類型。每個枚舉類型有一個底層的類型,它必須是8個整型類型之一。枚舉類型的值集與底層類型的值集相同。

委托類型通過特定的參數(shù)列表和返回類型表示對方法的引用。委托將方法處理為實體,實體能夠賦值給變量,并且當做參數(shù)傳遞。委托類似于某些程序語言中的方法指針,不同之處在于,委托是面向?qū)ο蟮?,并且是類型安全的?/p>

C#支持任何類型的一維和多維數(shù)組。不同于其他類型,數(shù)組類型在它們被使用前不必聲明。事實上,數(shù)組類型的構(gòu)造是由某個類型名加上方括號。例如,int[]是int的一維數(shù)組,int[,]是int的二維數(shù)組,而int[][]是int的一維數(shù)組的一維數(shù)組。

C#類型系統(tǒng)是統(tǒng)一的,這樣任何類型的值都能夠被處理成對象。C#中每一個類型直接或者間接從object類繼承而來,并且object是所有類型最終的基類。值類型的值可以通過執(zhí)行裝箱(boxing)和取消裝箱(unboxing)的操作處理為對象。在下面的示例中,int被轉(zhuǎn)換為object,然后又轉(zhuǎn)回到int。

 
 
 
 
  1. using System;  
  2.  
  3. class Test  
  4. {  
  5.     static void Main(){  
  6.        int i=123;  
  7.        object o=i;     //裝箱  
  8.        int j=(int)o;    //取消裝箱  
  9.     }  
  10. }  

當值類型的值被強制類型轉(zhuǎn)換為object時,就會分配持有該值的對象實例(也稱為“箱子”),并且值也被拷貝到那個箱子里。相反地,當object引用被強制類型轉(zhuǎn)換為值類型時,要檢查這個引用類型是否是當前值類型的箱子,如果是的話,箱子中的值就會被拷貝出來。

C#統(tǒng)一的類型系統(tǒng)意味著值類型能夠“按需”轉(zhuǎn)換為對象。由于這種統(tǒng)一性,使用object類型的通用類庫,例如.NET框架中的集合類,能夠通過引用類型和值類型使用。

存在幾種C#變量,包括字段、數(shù)組元素、局部變量和參數(shù)。變量表示了存儲的位置,并且每一個變量都有一個類型,以決定什么樣的值能夠存入變量中,如表1.3所示。

表1.3  C#變量

C#類型和C#變量的知識就介紹到這里,希望對大家有用。

【編輯推薦】

  1. 總結(jié)C#語言命名規(guī)范
  2. C#反射相關知識學習
  3. 大話F#和C#:是否會重蹈C#失敗的覆轍?
  4. 總結(jié)和學習C#接口
  5. 學習C#程序有感

網(wǎng)頁標題:編程入門:C#類型和C#變量
網(wǎng)頁地址:http://www.dlmjj.cn/article/djoocii.html