經常有朋友會在.NET、C#和ASP.NET這三者之間區別不清楚,到底它們之間有什么聯系呢?在這里我給大家歸納如下:
1、.NET是一個平臺,一個抽象的平臺的概念。
.NET平臺其本身實現的方式其實還是庫,從抽象層面上來看是一個平臺。
本人理解的.NET核心就是.NET Framwork。
.NET Framework包括兩個關鍵組成元素:
a.Common Language Runtime,公共語言運行時(CLR)-提供內在管理,代碼安全性檢測等功能
b.NET Framework Class Library,.NET框架類庫(FLC)-提供大量應用類庫,提高開發效率
學習.NET Framework 是所有.NET 開發人員都必須的,否則開發.NET程序永遠都是停留在‘外功’的招式,.NET Framework 是.NET開發高手的‘內功’修行之一。
2、C#是一個程序設計語言,僅僅是一個語言。
程序設計語言僅僅是為了方便開發人員和計算機溝通的工具,雖然C#語法相對C和C++要多一些,但是相對來看C#語法都比較固定,這樣使用起來卻都很容易。我認可一位朋友說的,C#的語法更嚴謹!
這里回過來看看.NET和C#的關系,不得不提的是.NET程序的執行過程。
C#符合.NET CLR中的公共語言運行規范。CLS:common language specification,當然所有的.NET Language都是符合這個規范的例如:VB.NET、XAML和C++/CLI....等等。
C#需要符合.NET CLS,是因為.NET CLR和JAVA 虛擬機類似,有一個中間語言共機器來執行。所有不同語言的.NET代碼在執行前會被編譯成同樣的中間語言(MSIL),所以所有.NET支持語言都必須符合符
合CLS規范。
P.S:如果做.NET 3.0 XAML開發的朋友,可以嘗試下ildasm.exe看看XAML的應用程序,會發現原來XAML其實很簡單。
3、ASP.NET是一個網站開發的技術,僅僅是.NET框架中的一個應用模型。
用微軟公司ASP.NET快速入門中的一句話來解釋,ASP.NET 是用于生成基于Web的應用程序的內容豐富的編程框架。