編程語言的基元類型

来源:http://www.cnblogs.com/lanrenqilanming/archive/2017/01/07/6258706.html
-Advertisement-
Play Games

編譯器直接支持的數據類型稱為基元類型。基元類型直接映射到Framework類庫(FCL)中存在的類型。比如在c#中int直接映射到曹衍濤 System.Int32類型. IL(IL可以指Intermediate Language,同MSIL(Microsoft Intermediate Langua ...


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

System.Int32類型.

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

CLS(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模塊


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1、下載好VMware 2、準備好CentOS的鏡像文件 3、打開VMware創建新的虛擬機 選擇自定義高級後按下一步 繼續下一步 選擇稍後安裝操作系統 客戶機操作系統選擇Linux,版本選擇CentOS 64位(我的是64位的CentOS) 設置虛擬機名稱和安裝路徑 分配處理器 設置虛擬機的記憶體 ...
  • 1.Nginx安裝環境: gcc: 安裝nginx需要先將官網下載的源碼進行編譯,編譯依賴gcc環境,如果沒有gcc環境,需要安裝gcc:yum install gcc-c++ pcre:<!--[if gte mso 9]><xml> <o:OfficeDocumentSettings> <o:A ...
  • 第八節 Linux 文件的屬性(上半部分) 標簽(空格分隔):Linux實戰教學筆記 第1章 Linux中的文件 1.1 文件屬性概述(ls lhi) linux里一切皆文件 Linux系統中的文件或目錄的屬性主要包括:索引節點(inode),文件類型,許可權屬性,鏈接數,所歸屬的用戶和用戶組,最近修 ...
  • 我們要接入微信公眾號平臺開發,需要填寫伺服器配置,然後依據介面文檔才能實現業務邏輯。但是微信公眾號介面只支持80介面(80埠)。我們因業務需求需要在一個公眾號功能變數名稱下麵,發佈兩個需要微信授權的項目,怎麼辦? 我們可以用nginx伺服器做反向代理來解決這個問題。nginx伺服器對外80埠,然後根據U ...
  • CLR支持兩種類型:引用類型和值類型。 引用類型總是從托管堆上分配,值類型一般線上程棧上分配。 在.NET Framework SDK中指出,任何稱為類的類型都是引用類型,所有值類型都成為結構或枚舉 以下代碼演示值類型與引用類型區別 值類型與引用類型的一些區別 值類型有已裝箱和未裝箱兩種形式,,引用 ...
  • 1.直接啟動 VS中直接啟動 2.IIS站點 IIS中配置一個站點來啟動(推薦) 3.登錄 系統預設創建2個用戶 預設用戶名:admin 密碼:123qwe 租戶:Default 預設用戶名:admin 密碼:123qwe 首次登錄系統會提示修改密碼 啟動成功,接下來配置一個菜單。 ...
  • 和PDF一樣,在word中,水印也分為圖片水印和文本水印,給文檔添加圖片水印可以使文檔變得更為美觀,更具有吸引力。文本水印則可以保護文檔,提醒別人該文檔是受版權保護的,不能隨意抄襲。前面我分享瞭如何給PDF添加水印,有人問我如何給word文檔添加水印,今天正好有空,就記錄一下我是如何實現的。 步驟其 ...
  • 哎!程式猿的痛啊,上次領導讓我做那個工作流開發啊。其實錯在我!太單純了!剛做好我好,我就上交給他了!這下好了,這坑爹的領導又來了! 領導:“小六啊,上次交給你的那個任務,你做的不錯啊!” 我:“您誇獎了,哪有,為了公司,我一定會拼盡全力。公司的事情,我永遠都是放在第一位的!” 領導:“好好好。手底下 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...