C 1 1知識準備

2021-08-20 10:16:21 字數 2849 閱讀 3036

.net的含義

一般指.net framework框架,是microsoft為開發應用程式而建立的乙個平台。

.net 的內容

主要包含乙個龐大的**庫。可以在客戶語言(如c#)中通過物件導向程式設計技術(opp)來使用這些**。這個庫分為多個不同的模組,這樣就可以根據希望得到的結果來選擇使用的部分。

定義了基本的型別。這也被稱為通用型別系統(cts)。可以在各種語言之間互動操作。

包含.net公共語言執行庫(clr)負責管理用.net庫開發的所有應用程式的執行。

c#:c#是執行在.net clr上的,用於建立應用程式的一種高階程式語言。是一種

物件導向的語言。

c#能編寫怎樣的應用程式:

桌面應用程式:使用.net framework的windows presentation foundatior(wpf)模組就可以簡便的生成這種程式(以前是應用windows forms生成)。

windows store應用程式:win8 中新引入的一類應用程式,針對觸控螢幕設計,通常是全屏執行。

web應用程式:它們是一些web頁面,可以通過web瀏覽器檢視。可以用c#語言通過web forms建立asp .net應用程式。

wcf服務:這是一種靈活建立各種分布式應用程式的方式。使用wcf服務可以通過區域網或internet交換幾乎各種資料。

.net的兩種互動模式

c/s:客戶機(client)/服務(server)模式 :客戶端需要安裝專用的客戶端軟體。

b/s:瀏覽器(browser)/伺服器(server)模式: 客戶只需安裝乙個瀏覽器

.net framework編寫應用程式的過程

使用.net framework編寫應用程式,就是使用.net**庫編寫**(支援framework的任何一種語言)

為執行c#**,必須把它們轉換為目標作業系統能夠理解的語言,即本機**(native code)這種轉換稱為編譯**,由編譯器執行。此過程包含兩個階段:1、把**轉化為通用中間語言(cil),編譯過程由vs完成。2、由jit把cil編譯為本機**。

cil在編譯使用.net framework庫的**時,不是立即建立專用於作業系統的本機**,而是把**編譯為通用中間語言(cil)

這些**並非專門用於任何一種作業系統,也非專門用於c#及其他.net語言,如visual basic.net也可以在第一階段編譯為這種語言,開發c#應用程式時,這個編譯步驟由ide完成。

程式集在編譯應用程式時,所建立的cil**儲存在乙個程式集中。

程式集包括可執行的應用程式檔案(exe)和其他應用程式使用的庫(dll)

jit編譯器

jit編譯器:即時編譯器

jit編譯器能夠將cil編譯成為各種不同的機器**,以適應對應的系統平台,最終使得程式在目標系統中得以順利的執行。

託管**

在將**編譯為cil,再用jit編譯器將它編譯為本機**後,clr的任務還沒全部完成,還需要管理正在執行的.net framework編寫的**(這個執行**的階段通常稱為執行時ruantime)。即clr管理著應用程式,其方式是管理記憶體、處理安全性以及允許進行跨語言除錯等。

相反,不受clr控制的應用程式屬於非託管型別,某些語言如c++可以用於編寫這類應用程式,例如,訪問作業系統的低階功能。但在c#中,只能編寫在託管環境下執行的**。我們將使用clr的託管功能,讓.net自己與作業系統進行互動。

控制台程式

為相容ms-dos而建立的程式。

桌面應用程式

c#基礎語法

c#程式結構

c#**有一系列語句組成,每條語句都用乙個

分號結束

,一行可以

有多條語句(不推薦),乙個語句也可以分多行。 **塊用{}

包圍,花 括號不需要帶分號。

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

//引用命名空間

//乙個命名空間內的項,同一命名空間內的其他**只要通過名稱引用就可以訪問它。在其他的命名空間內引用該項要在項名之前加空間名稱:空間名稱.項名稱。

namespace _2._1_csharp程式結構

------》//命名空間或專案名稱}}

深入了解vs

.sln解決方案檔案

.csproj 專案檔案

.cs類檔案

解決方案 包含 專案檔案 包含 類檔案

命名空間及識別符號、關鍵字

命名空間(namespace):

是.net中提**用程式**容器的方式,這樣

就可以唯一的識別**及其內容

識別符號:

是程式設計人員為常量、變數、資料型別、方法、函式、屬

性、類、程式定義的名稱。

關鍵字:

對於c#編譯器而言,具有特定含義的名稱,比如程式中的

using,class,void都屬於關鍵字。如果錯誤的將關鍵字用

作識別符號,編譯器會產生乙個錯誤。

識別符號的規定

C 11程式設計知識 右值引用

右值引用的概念有些讀者可能會感到陌生,其實他和c 98 03中的左值引用有些類似,例如,c 98 03中的左值引用是這樣的 int i 0 int j i 這裡的int 是對左值進行繫結 但是int 卻不能繫結右值 相應的,對右值進行繫結的引用就是右值引用,他的語法是這樣的a 通過雙引號來表示繫結型...

C 11基礎語法知識總結 一

string類 1 issize decltype line.size m line.size vector類 1 早期的vector的元素還是vector,則需要在外層vector的右尖括號和其元素型別之間加乙個空格 vectorint 而新標準中可以直接採用 vectorint 2 最好在開始時...

C 11基礎語法知識總結(五)

當過載的運算子為成員函式時,this指標繫結到左側運算物件上。成員運算子函式的顯式引數數量比運算物件少乙個。對於乙個過載的二元運算子來說,左側運算物件傳入第乙個引數,右側運算物件傳入第二個引數。如果作為成員運算子,則this指標所指內容預設作為左側運算子物件,函式只需傳入乙個引數,作為右側運算物件。...