C 高階特性

2022-06-24 23:45:14 字數 1857 閱讀 9985

msad的解釋.netframework是為其執行的應用程式提供各種服務的託管執行環境 主要元件公共語言執行時(clr) 和.net framework.

託管**和非託管**

託管**就是visual baseic .net和c#編譯器編譯出來的**,託管**在公共語言執行庫(clr)中執行

非託管**是執行在公共語言執行庫環境(clr)的外部,由作業系統直接執行的**。

非託管**必須提供自己的垃圾**、型別檢查、安全支援等服務

區別:1、託管**是一種中間語言,執行在clr上;

非託管**被編譯為機器碼,執行在機器上。

2、託管**獨立於平台和語言,能更好的實現不同語言平台之間的相容;

非託管**依賴於平台和語言。

3、託管**可享受clr提供的服務(如安全檢測、垃圾**等),不需要自己完成這些操作;

非託管**需要自己提供安全檢測、垃圾**等操作。

4、.net有很多非託管的資源,比如streamwriter、 timer、資料庫連線。

程式集中包含了一張叫做"清單"的模組,記錄了構成程式,集模組構成的資訊包括資源檔案及需要引用自己的資訊.

垃圾**gc

gc.collect()方法 作用:強制進行垃圾**

gc工作原理:gc遍歷應用程式在heap(堆)上動態分配的所有物件,通過識別它們是被引用來確定哪些物件已經死亡的,

哪些仍需要被使用,已經不再被應用程式所引用的物件就是已經死亡的物件,所謂的垃圾,需要被**

①gc,並不是能釋放所有資源,他不能自動釋放非託管資源.

②gc並不是實時性的,這講會造成系統效能能上的瓶頸和不確定性

cts (common type system)通用型別系統

cts定義了乙個型別庫,無論時visual basic.net還是c#,他們的型別系統大體類似。因此.net將各種不同的程式語言的資料型別進行抽象,就有了cts。雖然每種程式語言都有自己的型別系統,但編譯後都會轉成cts型別。不同的語言編寫的程式直間可以相互操作。vb的integer而c#的system.int32都對應cts的system.int32型別。

cts型別主要分成兩大類:引用型別和值型別,這兩個型別可以相互轉換,方法是裝箱和拆箱。

cls (common language specification)公共語言規範

公共語言執行庫支援的語言功能的子集,包括幾種物件導向的程式語言的通用功能。符合 cls 的元件和工具能夠保證與其他符合 cls 的元件和工具互動操作。

clr (common language runtime)公共語言執行時(也有的叫公共語言執行庫)

clr叫做公共語言執行時(common language runtime),它是所有.net應用程式執行時環境,是所有.net應用程式都使用的程式設計基礎,它如同乙個支援.net framework,

執行乙個.net程式也必須安裝。公共語言執行時遵循公共語言架構的標準,能夠使c++、c# 、visual basic、以及jscript等多種語言深度整合。

jit (just in time)即時編譯器

jit是一種提高程式執行效率的方法。通常,程式有兩種執行方式:靜態編譯與動態解釋。靜態編譯的程式在執行前全部被翻譯為機器碼,而動態解釋執行的則是一句一句邊執行邊翻譯。

cli 公共語言基礎架構(common language infrastructure)

bcl 基礎類庫(base class library)

基礎類庫(bcl)是微軟所提出的一組標準庫,可提供給 .net framework 所有語言使用。

fcl 框架類庫(framework class library)

C 高階特性

其實c 的高階特性,我覺得不能叫做高階特性 我覺得吧,c 的基本語法如果是必須要掌握的話 那麼這個所謂的高階特性其實也就是所謂的 c 這門語言的特色之處,它和其他語言的區別所在的地方 不能叫做高階特性,按照我的想法,這個才應該算是真正的c 語言 之前的那些只能是程式設計基礎而已 一開始就被這個 高階...

C 高階教程 特性

特性 attribute 是用於在執行時傳遞程式中各種元素 比如類 方法 結構 列舉 元件等 的行為資訊的宣告性標籤。您可以通過使用特性向程式新增宣告性資訊。乙個宣告性標籤是通過放置在它所應用的元素前面的方括號 來描述的。特性 attribute 用於新增元資料,如編譯器指令和注釋 描述 方法 類等...

c 之高階特性

一.c 委託 概念 委託是一種引用型別,表示對方法的引用,這個方法是具有特定返回值型別和引數的方法。方式一 通過委託例項呼叫方法 方式二 使用委託把方法作為引數傳遞給其它方法。委託 方式一 的使用步驟 1.宣告委託 語法 delegate 返回值型別 委託名 引數列表 delegate string...