走進(jìn)C# (我的C#學(xué)習(xí)之旅)之三
2024-07-21 02:27:41
供稿:網(wǎng)友
注冊(cè)會(huì)員,創(chuàng)建你的web開發(fā)資料庫(kù),終于來到第二章了,真是不容易(呵呵,大家少安毋躁)。
這章總的來說就是對(duì)c#的一個(gè)總體的概述。首先通過對(duì)以往的編程語言(匯編,c/c++,java,vb)的回顧,強(qiáng)調(diào)這些語言與c#的聯(lián)系及c#對(duì)這些語言優(yōu)秀特性的繼承,試圖在其中打到c#的影子。然后對(duì)現(xiàn)在市面上流行的編程語言與c#進(jìn)行比較,從而突出c#做為新一代的編程語言的重要性及優(yōu)越性。之后再次簡(jiǎn)述了c#的新特性(感覺作者的廢話太多了)。最后簡(jiǎn)述了c#在各種程序開發(fā)中的應(yīng)用及c#的編譯器的使用。
這章的大致內(nèi)容就是這些,下面依照各分節(jié)的順序來看一看各節(jié)的主要內(nèi)容。
語言發(fā)展史部分
匯編語言的出現(xiàn)
.net程序并不包含機(jī)器指令,而包含一組必須用運(yùn)行時(shí)程序解釋的中間語言指令。中間語言指令比匯編語言指令更抽象。
中間語言看起來像是一個(gè)帶有處理對(duì)象的外部命令的匯編語言程序。
c語言部分
這部分主要說明了c#與c的一脈相承。強(qiáng)調(diào)了c#在繼承了c的強(qiáng)大功能的同時(shí)又鄙棄了其使用的困難性。
vb部分
指出vb在oop的先天不足,而要強(qiáng)調(diào)的是c#功能的完美而且與vb一樣簡(jiǎn)單容易上手。
java部分
在這一節(jié),首先指出了java的優(yōu)勢(shì),然后當(dāng)然是對(duì)java的海扁了。不過其中還是有一些可看之處。
在語法上,java非常類似于c++,但有一些區(qū)別
(1)java不支持指針,因?yàn)橹羔樖莄++程序中許多很難處理的錯(cuò)誤源。在java中,對(duì)象總是通過引用來處理。
(2)java不支持運(yùn)算符重載,因?yàn)椴徽_的運(yùn)算符重載常常會(huì)導(dǎo)致大量的混亂,特別是多個(gè)開發(fā)人員參與的大型程序。
(3)java完全是面向?qū)ο蟮?,即所有的函?shù)都必須在類的范圍內(nèi)定義。因?yàn)閏++支持全局函數(shù),所以c++允許程序員返回它們的過程根。
(4)java帶有類的擴(kuò)展分層結(jié)構(gòu),可以進(jìn)行窗口、網(wǎng)絡(luò)和其他問題域的處理。
(5)java建議把類的聲明和執(zhí)行放在同一文件中。
(6)java運(yùn)行時(shí)提供了一種防止內(nèi)存遺漏的無用存儲(chǔ)單元收集機(jī)制。
與其它語言的比較
這部分寫的太惡心了,說的基本都是c#的好其它語言的壞。
主要的觀點(diǎn)如下:
在與vb的比較中說明c#的面對(duì)對(duì)象比vb高,在語法上比vb更簡(jiǎn)潔。
在與vb.net的比較中,說明c#是.net的首選語言。
與vc++比較中說明,c#比c++的效率更高,更容易。
在與c++builder及delphi比較中說明c#的平臺(tái)獨(dú)立性。
下面來看看與java的比較
(1)c#的語法要比java強(qiáng)大,因?yàn)閏#支持運(yùn)算符重載和類型安全的枚舉,另外,還可以在c#程序中選擇嵌入式指針和其他不合法的語法。
(2)c#可以與以其他.net語言編寫的代碼進(jìn)行無縫交互操作
(3)c#可以看作是一個(gè)比較便宜、不太完整的java替代品
(4).net基類為c#提供了一個(gè)統(tǒng)一的、標(biāo)準(zhǔn)化的源,以滿足常用功能的需要。
后面提到的與javascript及vbscript的比較就不想再多說了,因?yàn)閷?shí)在太牽強(qiáng)。
c#的應(yīng)用
(1)asp.net應(yīng)用程序
(2)web窗體
(3)web控件
(4)web服務(wù)
(5)類庫(kù)
(6)windows應(yīng)用程序
(7)windows控件(不必注冊(cè).net組件,只需把組件的一個(gè)副本放在客戶應(yīng)用程序的目錄下,客戶機(jī)就可以訪問它。)
(8)控件臺(tái)應(yīng)用程序
c#的特性概覽
(1)基于.net基類
(2)流控制語句(支持for each結(jié)構(gòu)以及a?b:c)
(3)面向?qū)ο蟮墓δ?br>(4)反射和屬性(這塊說的很含糊,不是很明白)
(5)可以處理不安全的代碼
c#編譯器
(1)c#程序編譯的兩種方式,命令行方式和集成的ide方式。
(2)輸入輸出文件:csc sourcefile.cs /out:targetfile.exe(大家應(yīng)該都能看明白)
(3)編譯不同的工程類型(其實(shí)關(guān)鍵就是參數(shù)的不同)
/t:exe 建立控制臺(tái)應(yīng)用程序。
/t:winexe 建立windows form應(yīng)用程序。
/t:library 建立一個(gè)包含清單的獨(dú)立裝配件。
/t:module 建立一個(gè)裝配件文件,但沒有清單。
這章的內(nèi)容很多,感覺上也很籠統(tǒng)。不過我想對(duì)于我們初學(xué)者來說掌握這些也應(yīng)該足夠了。由于這只是個(gè)鋪墊,后面還有更多的介紹,所以不想再深究下去了。帶著疑問看下去,不是更好。
讓我們期待下一章吧。