1..net框架結構主要包含公共語言運行時(CLR)和框架類庫(.NET Framework 類庫 ,FCL)2.CLR1、對於一個將要面向.NET平台進行開發的人來說,了解一下.NET平台的整個構成是非常有必要的,如圖1所示即說明了.NET平台的整體結構: 這個圖就是著名的.NET平台結構圖,從這個圖上可以看到,.NET Framework是在
Microsoft.NET
平台上開發的基礎,
ASP.NET
、Windows Forms 和
VS.NET
都不過是.NET平台開發的一部分,他的用於.NET應用程序 的開發及展示。.NET平台的核心技術為:通用語言運行時(CLR:Common Language Runtiome)、基類庫(BCL:Base Class Library)、.NET語言及Visual
Studio.NET
.NET Framework是架構在Windows平台上的一個虛擬的運行平台,你可以想象將最下層Windows換做其他的操作系統,例如說Linux,一樣可以實現使用符合CLS(Common Language Specification,通用語言規范)的.NET語言,(
VB.NET
、C#、
JScript.NET
等),來創建
ASP.NET
或Windows Form(可能會叫Linux Forms)應用程序的功能,這其實就是Mono計划要實現的功能。所以可以這 么認為,理論上,C#是一種可以跨平台的語言,這很象Java。C#另一個比較象Java的地方是,它也是一種(特殊意義上的)語言,同Java一樣,C#編寫的程序代碼也是先通過C#編譯器編譯為一種特殊的字節 代碼,(Microsoft Intermediate Language,MSIL,微軟)中間語言,運行時再經由特定的編譯器(JIT編譯器,Just In tIME, JITer)編譯為機器代碼,以供操作系統執行.不僅是C#語言,所有.NET語言(將會包括我 們常用的幾十種現代的編碼語言)都可以編寫面向CLR的程序代碼,這種代碼在.NET中被稱為托管代碼(Managed Code),所有的Managed Code都直接運行在CLR上,具有與平台無關的特性。 解釋性的語言很安全,並且可以通過他的運行平台為其賦予更多的功能,例如自動內存管理,異常處理等,事實上,C#語言的許多特點都是由CLR提供的,如圖2所示的CLR結構圖說明了這一點。 2、從下圖可以看到,C#所具有的許多特點都是由CLR提供的,如類型安全(Type Checker)、垃圾回收(Garbage Collector)、異常處理(Exception Manager)、向下兼容(COM Marshaler)等,具體的說,.NET 上的CLR為開發者提供如下的服務:◆平台無關:CLR實際上是提供了一項使用了虛擬機技術的產品,他構架在操作系統之上,並不要求程序的運行平台是 Windows系統,只要是能夠支持它的運行庫的系統,都 可以在上面運行.NET應用。所以,一個完全由托管代碼組成的應用程序,只要編譯一次,就可以在任何支持.NET的平台上運行.◆跨語言集成:CLR語序開發這以任何語言進行開發,用這些語言開發的代碼,可以 在CLR環境下緊密無縫的進行交叉調用,例如,可以用VB聲明一個基類對象,然后在C#代碼中直接創建次基類的派生類。◆自動內存管理:CLR提供了拉架收集機制,可以自動管理內存。當對象或變量的生命周 期結速后,CLR會自動釋放他們所占用的內存.◆跨語言異處理◆版本控制◆.NET安全◆簡單的組件互操作性。◆自描述組件:自描述組件是指將所有數據和代碼都放在一個文件中的執行文件。自描訴組件可以大 大簡化系統的開發和配置,並且改進系統的可靠性。 通用語言運行時(CommonLanguageRuntiome,CLR)最早被稱為下一代Windows服務運行時(NGWS Runtime).它是直接建立在操作系統上的一個虛擬環境,主要的任務是管理代碼的運行。CLR現在支持幾十種現 代的編程語言為它編寫代碼,然后以一種中間語言(Intermediate Langeoage,IL)代碼的形成被執行。並且,CLR還提供了許多功能以簡化代碼的開發和應用配置,同時也改善了應用程序的可靠性。如你所知,如果 某種語言的編譯器是以運行時為目標的,那么利用該語言開發生成的代碼在.NET中被稱為托管代碼,因為這樣的代碼是直接運行在CLR上的,所以具有與平台無關的特點。在.NET平台結構圖中,CLR的上面 是.NET的基類庫,這組基類庫包括從基本輸入輸出到數據訪問等各方面,提供了一個統一的面向對象的,層次化的,可擴展的編程接口。從.NET平台結構圖中也可以看到,基類 庫可以被各種語言調用和擴展,也就是說不管是 C#,
VB.NET
還是VC++.NET,都可以自由的調用,.NET的類庫,因為C#自身只3..Framework 類庫 (FCL).NETFramework類庫 編輯
.NET Framework 包括可加快和優化開發過程並提供對系統功能的訪問的類、接口和值類型。 為了便於語言之間進行交互操作,大多數 .NET Framework 類型都符合 CLS,因而可在編譯器符合公共語言規范 (CLS) 的任何編程語言中使用。
中文名 .NETFramework類庫 目的 為了便於語言之間進行交互操作 重要性 生成.NET 應用程序、組件的基礎 功 能 表示基礎數據類型和異常等
編輯
.NET Framework 類型是生成 .NET 應用程序、組件和控件的基礎。 .NET Framework 包括的類型可執行下列功能:
表示基礎數據類型和異常。 封裝數據結構。 執行 I/O。 訪問關於加載類型的信息。 調用 .NET Framework 安全檢查。 提供數據訪問、多客戶端 GUI 和服務器控制的客戶端 GUI。 .NET Framework 提供了一組豐
富的接口以及抽象類和具體(非抽象)類。 可以按原樣使用這些具體的類,或者在多數情況下從這些類派生您自己的類。 若要使用接口的功能,既可以創建實現接口的類,也可以從某個實現接口的 .NET
Framework 類中派生類。
命名約定編輯
.NET Framework 類型使用點語法命名方案,該方案隱含了層次結構的意思。 此技術將相關類型分為不同的命名空間組,以便可以更容易地搜索和引用它們。 全名的第一部分(最右邊的點之前的內容)是命名空間
名。 全名的最后一部分是類型名。 例如,System.Collections.ArrayList 表示 ArrayList 類型,該類型屬於 System.Collections 命名空間。 System.Collections中的類型可用於操作對象集合。
此命名方案使擴展 .NET Framework 的庫開發人員可以輕松創建分層類型組,並用一致的、帶有提示性的方式對其進行命名。 它還允許用全名(即命名空間和類型名稱)明確地標識類型,這樣可以防止類型名稱發生
沖突。 庫開發人員在創建命名空間的名稱時應使用以下原則:
“公司名 稱.技術名稱”
例如,Microsoft.Word 命名空間就符合此原則。
利用命名模式將相關類型分組為命名空間是生成和記錄類庫的一種非常有用的方式。 但是,此命名方案對可見性、成員訪問、繼承、安全性或綁定無效。 一個命名空間可以被划分在多個程序集中,而單個程序集可以
包含來自多個命名空間的類型。 程序集為公共語言運行時中的版本控制、部署、安全性、加載和可見性提供外形結構。
4.類和對象
.類和對象的關系 Dept dept=new Dept();
解析:類是對象的類型 ( 具有相同行為和特征的統一種類) code層面:Dept
對象是類的實例 (具體的一個個事物)code層面:dept5.封裝 就是保護一些私有字段的安全。體現2:將方法和字段放入一個容器(類)中。6.自動屬性
注意點:當我們不需要進行邏輯判定的時候,他是和私有字段+共有的屬性是等價的。
自動屬性底層會生成:私有字段+公有屬

平台上開發的基礎,

、Windows Forms 和

都不過是.NET平台開發的一部分,他的用於.NET應用程序 的開發及展示。.NET平台的核心技術為:通用語言運行時(CLR:Common Language Runtiome)、基類庫(BCL:Base Class Library)、.NET語言及Visual

.NET Framework是架構在Windows平台上的一個虛擬的運行平台,你可以想象將最下層Windows換做其他的操作系統,例如說Linux,一樣可以實現使用符合CLS(Common Language Specification,通用語言規范)的.NET語言,(

、C#、

等),來創建

或Windows Form(可能會叫Linux Forms)應用程序的功能,這其實就是Mono計划要實現的功能。所以可以這 么認為,理論上,C#是一種可以跨平台的語言,這很象Java。C#另一個比較象Java的地方是,它也是一種(特殊意義上的)語言,同Java一樣,C#編寫的程序代碼也是先通過C#編譯器編譯為一種特殊的字節 代碼,(Microsoft Intermediate Language,MSIL,微軟)中間語言,運行時再經由特定的編譯器(JIT編譯器,Just In tIME, JITer)編譯為機器代碼,以供操作系統執行.不僅是C#語言,所有.NET語言(將會包括我 們常用的幾十種現代的編碼語言)都可以編寫面向CLR的程序代碼,這種代碼在.NET中被稱為托管代碼(Managed Code),所有的Managed Code都直接運行在CLR上,具有與平台無關的特性。 解釋性的語言很安全,並且可以通過他的運行平台為其賦予更多的功能,例如自動內存管理,異常處理等,事實上,C#語言的許多特點都是由CLR提供的,如圖2所示的CLR結構圖說明了這一點。 2、從下圖可以看到,C#所具有的許多特點都是由CLR提供的,如類型安全(Type Checker)、垃圾回收(Garbage Collector)、異常處理(Exception Manager)、向下兼容(COM Marshaler)等,具體的說,.NET 上的CLR為開發者提供如下的服務:◆平台無關:CLR實際上是提供了一項使用了虛擬機技術的產品,他構架在操作系統之上,並不要求程序的運行平台是 Windows系統,只要是能夠支持它的運行庫的系統,都 可以在上面運行.NET應用。所以,一個完全由托管代碼組成的應用程序,只要編譯一次,就可以在任何支持.NET的平台上運行.◆跨語言集成:CLR語序開發這以任何語言進行開發,用這些語言開發的代碼,可以 在CLR環境下緊密無縫的進行交叉調用,例如,可以用VB聲明一個基類對象,然后在C#代碼中直接創建次基類的派生類。◆自動內存管理:CLR提供了拉架收集機制,可以自動管理內存。當對象或變量的生命周 期結速后,CLR會自動釋放他們所占用的內存.◆跨語言異處理◆版本控制◆.NET安全◆簡單的組件互操作性。◆自描述組件:自描述組件是指將所有數據和代碼都放在一個文件中的執行文件。自描訴組件可以大 大簡化系統的開發和配置,並且改進系統的可靠性。 通用語言運行時(CommonLanguageRuntiome,CLR)最早被稱為下一代Windows服務運行時(NGWS Runtime).它是直接建立在操作系統上的一個虛擬環境,主要的任務是管理代碼的運行。CLR現在支持幾十種現 代的編程語言為它編寫代碼,然后以一種中間語言(Intermediate Langeoage,IL)代碼的形成被執行。並且,CLR還提供了許多功能以簡化代碼的開發和應用配置,同時也改善了應用程序的可靠性。如你所知,如果 某種語言的編譯器是以運行時為目標的,那么利用該語言開發生成的代碼在.NET中被稱為托管代碼,因為這樣的代碼是直接運行在CLR上的,所以具有與平台無關的特點。在.NET平台結構圖中,CLR的上面 是.NET的基類庫,這組基類庫包括從基本輸入輸出到數據訪問等各方面,提供了一個統一的面向對象的,層次化的,可擴展的編程接口。從.NET平台結構圖中也可以看到,基類 庫可以被各種語言調用和擴展,也就是說不管是 C#,

還是VC++.NET,都可以自由的調用,.NET的類庫,因為C#自身只3..Framework 類庫 (FCL).NETFramework類庫 編輯
.NET Framework 包括可加快和優化開發過程並提供對系統功能的訪問的類、接口和值類型。 為了便於語言之間進行交互操作,大多數 .NET Framework 類型都符合 CLS,因而可在編譯器符合公共語言規范 (CLS) 的任何編程語言中使用。
中文名 .NETFramework類庫 目的 為了便於語言之間進行交互操作 重要性 生成.NET 應用程序、組件的基礎 功 能 表示基礎數據類型和異常等
編輯
.NET Framework 類型是生成 .NET 應用程序、組件和控件的基礎。 .NET Framework 包括的類型可執行下列功能:
表示基礎數據類型和異常。 封裝數據結構。 執行 I/O。 訪問關於加載類型的信息。 調用 .NET Framework 安全檢查。 提供數據訪問、多客戶端 GUI 和服務器控制的客戶端 GUI。 .NET Framework 提供了一組豐
富的接口以及抽象類和具體(非抽象)類。 可以按原樣使用這些具體的類,或者在多數情況下從這些類派生您自己的類。 若要使用接口的功能,既可以創建實現接口的類,也可以從某個實現接口的 .NET
Framework 類中派生類。
命名約定編輯
.NET Framework 類型使用點語法命名方案,該方案隱含了層次結構的意思。 此技術將相關類型分為不同的命名空間組,以便可以更容易地搜索和引用它們。 全名的第一部分(最右邊的點之前的內容)是命名空間
名。 全名的最后一部分是類型名。 例如,System.Collections.ArrayList 表示 ArrayList 類型,該類型屬於 System.Collections 命名空間。 System.Collections中的類型可用於操作對象集合。
此命名方案使擴展 .NET Framework 的庫開發人員可以輕松創建分層類型組,並用一致的、帶有提示性的方式對其進行命名。 它還允許用全名(即命名空間和類型名稱)明確地標識類型,這樣可以防止類型名稱發生
沖突。 庫開發人員在創建命名空間的名稱時應使用以下原則:
“公司名 稱.技術名稱”
例如,Microsoft.Word 命名空間就符合此原則。
利用命名模式將相關類型分組為命名空間是生成和記錄類庫的一種非常有用的方式。 但是,此命名方案對可見性、成員訪問、繼承、安全性或綁定無效。 一個命名空間可以被划分在多個程序集中,而單個程序集可以
包含來自多個命名空間的類型。 程序集為公共語言運行時中的版本控制、部署、安全性、加載和可見性提供外形結構。
4.類和對象
.類和對象的關系 Dept dept=new Dept();
解析:類是對象的類型 ( 具有相同行為和特征的統一種類) code層面:Dept
對象是類的實例 (具體的一個個事物)code層面:dept5.封裝 就是保護一些私有字段的安全。體現2:將方法和字段放入一個容器(類)中。6.自動屬性
注意點:當我們不需要進行邏輯判定的時候,他是和私有字段+共有的屬性是等價的。
自動屬性底層會生成:私有字段+公有屬