程式設計語言的基元類型

來源:互聯網
上載者:User

標籤:有符號   spec   轉型   str   unicode   符號   c#   exce   異常   

編譯器直接支援的資料類型稱為基元類型。基元類型直接映射到Framework類庫(FCL)中存在的類型。比如在c#中int直接映射到曹衍濤

System.Int32類型.

IL(IL可以指Intermediate Language,同MSIL(Microsoft Intermediate Language),是將.NET代碼轉化為機器語言的一個中繼語言的縮寫)

CLS(common language Specification)Common Language Specification

下為c#基元類型與對應FCL類型

c#基元類型 FCL類型 CLS相容 說明
sbyte   System.SByte 否 有符號8位值
byte System.Byte 是 無符號8位值
short System.Int16 是 有符號16位值
ushort System.UInt16 否 無符號16位值
int     System.Int32 是 有符號32位值
uint System.UInt32 否 無符號32位值
long System.Int64 是 有符號64位值
ulong System.UInt64 否 無符號64位值
char System.Char 是 16位Unicode字元
float System.Single 是 IEEE32位浮點值
double System.Double 是 IEEE64位浮點值
bool System.Boolean 是 true/false
decimal System.Declmal 是 128位高精度浮點值
string System.String 是 一個字元數組
object System.Object 是 所有類型的基類
dynamic System.Object 是 對於CLR,dynamic與objecty完全一致

編譯器能識別常見的編程模式,產生必要的IL,使代碼能像預期工作

c#編譯器支援與類型轉換、文本常量以及操作符有關的模式

如果轉換時安全的(不會遺失資料),c#允許進行隱式轉換,若不安全則要求顯示轉換。比如說Int32轉為Int64可以隱式轉換,反之需要顯示轉換。

除了轉型,基元類型還能寫成文本常量,文本常量可以被看作是類型本身的一個執行個體。

Console.WriteLine(123.ToString()+123.ToString());//"123123"

 

checked與unchecked類型操作

對基元類型執行的許多操作都可能造成溢出:

Byte b=100;

b=(Byte )(b+200);//byte取值範圍為-128~127

程式員可以在特定的地區用checked與unchecked控制溢出檢查

checked操作符

Byte b=100;

b=(Byte )checked(b+200);//不會拋出overflowexception異常

b=checked((Byte )(b+200));//會拋出overflowexception異常

除了chacked和unchecked操作符,c#還支援checked和unchecked語句,他們造成一個塊中所有的運算式都進行或者不進行溢出檢查。

checked{//開始一個checked模組

Byte b=100;

b+=200;//該運算式會進行溢出檢查

}//結束一個checked模組

程式設計語言的基元類型

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.