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