a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C# > 正文

c#數(shù)據(jù)類型基礎(chǔ)

2019-10-29 21:48:20
字體:
供稿:網(wǎng)友
C#里面的數(shù)據(jù)類型分為兩種:值類型和引用類型。
 
 
 1.值類型
值類型包括簡單值類型和復(fù)合型類型。簡單值類型可以再細(xì)分為整數(shù)類型、字符類型、實數(shù)類型和布爾類型;而復(fù)合類型則是簡單類型的復(fù)合,包括結(jié)構(gòu)(struct)類型和枚舉(enum)類型。
 
整數(shù)類型

 

數(shù)據(jù)類型
說明
取值范圍
對應(yīng)于System程序集中的結(jié)構(gòu)
sbyte
有符號8位整數(shù)
-128-127
SByte
byte
無符號8位整數(shù)
0-255
Byte
short
有符號16位整數(shù)
-32768-32767
Int16
ushort
無符號16位整數(shù)
0-65535
UInt16
Int
有符號32位整數(shù)
-2147489648-2147483647
Int32
uint
無符號32位整數(shù)
0-42994967295
UInt32
long
有符號64位整數(shù)
-263-263
Int64
ulong
無符號64位整數(shù)
0-264
UInt64

 

 
字符類型
C#中采用Unicode字符集來表示字符類型。
 
實數(shù)類型

 

數(shù)據(jù)類型
說明
取值范圍
float
32位單精度實數(shù)
1.5*10-45-3.4*1038
double
64位雙精度實數(shù)
5.0*10-324-1.7*10308
demcimal
128位十進(jìn)制實數(shù)
1.0*10-28-7.9*1028

 

 
布爾(bool)類型
取值只能是ture或者falsebool類型對應(yīng)于.NET類庫中的System.Boolean結(jié)構(gòu)。它在計算機(jī)中占4個字節(jié),即32位存儲空間。
 
結(jié)構(gòu)類型
把一系列相關(guān)的信息組織成為一個單一實體的過程,這就是創(chuàng)建一個結(jié)構(gòu)的過程。
struct person
{
string m_name;    //姓名
int m_age;            //年齡
string m_sex;       //性別
}
 
枚舉類型
主要用于表示一個邏輯相關(guān)聯(lián)的項和組合。使用關(guān)鍵字enum來定義。
enum Weekday
{
SundayMondayTuesdayWednesdayThursdayFridaySaturday
}
 
2.引用類型
 
引用類型包括類(class)、接口(interface)、委托(delegate)和數(shù)組(array)。
 
類(class
類是一組具有相同數(shù)據(jù)結(jié)構(gòu)和相同操作的對象集合。創(chuàng)建類的實例必須使用關(guān)鍵字new來進(jìn)行聲明。
 
(重點)類和結(jié)構(gòu)之間的根本區(qū)別在于:結(jié)構(gòu)是值類型,而類是引用類型。對于值類型,每個變量直接包含自身的所有數(shù)據(jù),每創(chuàng)建一個變量,就在內(nèi)存中開辟一塊區(qū)域;而對于引用類型,每個變量只存儲對目標(biāo)存儲數(shù)據(jù)的引用,每創(chuàng)建一個變量,就增加一個指向目標(biāo)數(shù)據(jù)的指針。
 
接口(interface
應(yīng)用程序之間要相互調(diào)用,就必須事先達(dá)成一個協(xié)議,被調(diào)用的一方在協(xié)議中對自己所能提供的服務(wù)進(jìn)行描述。在C#中,這個協(xié)議就是接口。接口定義中對方法的聲明,既不包括訪問限制修飾符,也不包括方法的執(zhí)行代碼。
 
(注意)如果某個類繼承了一個接口,那么它就要實現(xiàn)該接口所定義的服務(wù)。也就是實現(xiàn)接口中的方法。
 
委托
委托用語封裝某個方法的調(diào)用過程。
委托的使用過程分為3步:
1.定義      delegate void HelloDelegate();
2.實例化 HelloDelegate hd = new HelloDelegate(p1.Say); //p1.Say調(diào)用的方法
3.調(diào)用      hd();
數(shù)組
數(shù)組主要用于同一數(shù)據(jù)類型的數(shù)據(jù)進(jìn)行批量處理。在C#中,數(shù)組需要初始化之后才能使用。
如:int[] array1 = new int[3]{2,3,5};
        int[] array1 = {2,3,5};
 
(注意)對規(guī)則多維數(shù)組,調(diào)用Length屬性所得的值為整個數(shù)組的長度;而調(diào)用其GetLength方法,參數(shù)為0時得到數(shù)組第1維的長度,為1時得到數(shù)組第2維的長度,以此類推。而對于不規(guī)則多維數(shù)組,調(diào)用Length屬性和以0為參數(shù)調(diào)用其GetLength方法,得到的都是第一維的長度。
 
3.類型轉(zhuǎn)換
 
數(shù)值轉(zhuǎn)換
       數(shù)值的轉(zhuǎn)換有一個原則,即從低精度類型到高精度類型通常可以進(jìn)行隱式轉(zhuǎn)換;而從高精度類型則必須進(jìn)行顯式轉(zhuǎn)換。
       如:int i = 100;
              long j = 1000;
              j = i;        //隱式轉(zhuǎn)換,由低精度到高精度的轉(zhuǎn)換
              i = (int)j; //顯式轉(zhuǎn)換,有高精度到底精度的轉(zhuǎn)換
具體轉(zhuǎn)換過程中信息的丟失就看各數(shù)據(jù)類型的精度了。(可以參考上面數(shù)據(jù)類型)
 
枚舉轉(zhuǎn)換
       枚舉類型與其他任何類型之間不存在隱式轉(zhuǎn)換。而和枚舉類型相關(guān)的顯式轉(zhuǎn)換包括:
1.從所有整數(shù)類型(包括字符類型)和實數(shù)類型到枚舉類型的顯式轉(zhuǎn)換;
2.從枚舉類型到所有整數(shù)類型(包括字符類型)和實數(shù)類型的顯式轉(zhuǎn)換;
3.從枚舉類型到枚舉類型的顯式轉(zhuǎn)換。
 
裝箱和拆箱轉(zhuǎn)換
主要是值類型與引用類型之間相互轉(zhuǎn)換。
如:object obj 1= 10;
       int i = (int)obj;       //拆箱
       int j = 100;
       object obj2 = j;     //裝箱
 
轉(zhuǎn)換檢查
如果出現(xiàn)轉(zhuǎn)換失敗,程序就會拋出一個System.InvalidCastException異常

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产日产精品一区二区三区四区 | 亚洲四区| 五月天婷婷综合 | av男人电影天堂 | 理论片第一页 | 久久生活片 | 久久国产精品99久久久久久牛牛 | 欧美成人精品一区二区男人看 | 日韩不卡一二三 | 亚洲激情自拍偷拍 | av一级毛片 | 成人妇女免费播放久久久 | 欧美日韩无 | 成人精品在线视频 | 久久99精品久久久久久 | 中文字幕亚洲一区二区三区 | 亚洲视频中文字幕 | 国产91亚洲精品 | 欧美在线综合 | 99免费精品| 欧美三级在线播放 | 超碰97久久 | k8久久久一区二区三区 | 成人av一区| 成人超碰在线 | 91在线播| 亚洲国产午夜 | 日韩精品www | 精品视频在线观看一区二区 | 国产精品一区二区不卡视频 | 免费v片在线观看 | 国产一区二区在线电影 | av观看在线| 国产中文视频 | 久久av一区二区三区 | 亚洲热在线观看 | 久久午夜视频 | 精品日本久久 | 黄色三级视频 | 成人黄网在线观看 | 欧美天堂在线观看 |