常見數據類型

關於數據類型 c#的類型通常分爲值類型和引用類型兩種,c#

值類型的變量包含類型的實例,值類型存放棧中ui

引用類型的變量包含對類型實例的引用,引用類型放在堆中,在棧中設置一個指針指向堆spa

 

值類型:指針

1.整數型數值:全部的整型數值類型均爲值類型,能夠用文本進行初始化,每一個整型類型的默認值都是0,c#支持如下預約義的整型數值類型code

sbyte  8位帶符號整數,對象

byte  8位無符號整數,繼承

short  16位帶符號整數ci

ushort 16位無符號整數字符串

int 32位帶符號整數string

uint  32位無符號整數

long 64位帶符號整數

ulong 64位無符號整數

2.浮點型數值:全部浮點型數值均爲值類型 ,能夠使用文本進行初始化,每一個整型類型的默認值都是0,c#支持如下預約義的浮點型數值類型

float 大約6-9位數字  4個字節

double 大約15-17位數字  8個字節

decimal  大約28-29位數字  16個字節

3.bool類型,它是一個布爾值,可爲true和false

4.char類型,默認值是\0,即U+0000

5.enum 枚舉類型,它是由整型數值類型的一組命名常量定義的值類型,枚舉成員的關聯常數值爲int,從0開始,並按定義文本順序遞增1

6.結構類型 (stuct type;stucture type)是一種可封裝數據和相關功能的值類型

7.可爲空的值類型 ,T?表示其基礎值類型T的全部值及額外的null 值。

引用類型:

1.內置引用類型

  1.1:動態類型 dynamic ,表示變量的使用和對其成員的引用繞過編譯時類型檢查

  1.2:對象類型 object,c#的統一類型系統中,全部的類型都是直接或間接從System.Object 繼承的。

  1.3:字符串類型 string ,表示0個或多個Unicode字符的序列。

  1.4:委託類型 delegate 聲明和方法簽名類似

2.引用類型能夠使用如下進行聲明

  2.1: class

  2.2:Interface 

  2.3:可爲null的引用類型

 

類型之間能夠經過某種手段轉換成另外一種類型

類型轉換分爲

1.默認類型轉換 無符號和有符號之間轉換時,若是無符號的位數和有符號之間位數一致的話不能默認轉換,全部整型都可默認轉換爲decimal

  1.1 子類轉換成父類時

  1.2 短精度向高精度轉換時(列:byte->int->long->float->double)

2.強制類型轉換  數據類型判斷 關鍵字 is,此關鍵字能夠檢測下是否能夠轉換爲目標類型,

  2.1 變量前加目標類型進行強制轉換 失敗時會拋錯

  2.2 使用as 關鍵字進行強制轉換  失敗時會設置爲null

相關文章
相關標籤/搜索