- C#從入門到精通(第2版)
- 龍馬高新教育策劃 國(guó)家863中部軟件孵化器編著
- 659字
- 2019-01-02 05:28:58
前言
“從入門到精通”系列是專為初學(xué)者量身打造的一套編程學(xué)習(xí)用書,由知名計(jì)算機(jī)圖書策劃?rùn)C(jī)構(gòu)“龍馬高新教育”精心策劃而成。
本書主要面向C#初學(xué)者和愛(ài)好者,旨在幫助讀者掌握C#基礎(chǔ)知識(shí)、了解開發(fā)技巧并積累一定的項(xiàng)目實(shí)戰(zhàn)經(jīng)驗(yàn)。當(dāng)讀者系統(tǒng)地學(xué)習(xí)完本書內(nèi)容之后,就可以驕傲地宣布—“我是一名真正的C#程序員了!”。
為什么要寫這樣一本書
荀子曰:不聞不若聞之,聞之不若見(jiàn)之,見(jiàn)之不若知之,知之不若行之。
實(shí)踐對(duì)于學(xué)習(xí)的重要性由此可見(jiàn)一斑。縱觀當(dāng)前編程圖書市場(chǎng),理論知識(shí)與實(shí)踐經(jīng)驗(yàn)的脫節(jié),是很多C#圖書的寫照。為了杜絕這一現(xiàn)象,本書立足于實(shí)戰(zhàn),從項(xiàng)目開發(fā)的實(shí)際需求入手,將理論知識(shí)與實(shí)際應(yīng)用相結(jié)合。目標(biāo)就是讓初學(xué)者能夠快速成長(zhǎng)為初級(jí)程序員,并擁有一定的項(xiàng)目開發(fā)經(jīng)驗(yàn),從而在職場(chǎng)中擁有一個(gè)高起點(diǎn)。
C#的最佳學(xué)習(xí)路線
本書總結(jié)了作者多年的教學(xué)實(shí)踐經(jīng)驗(yàn),為讀者設(shè)計(jì)了最佳的學(xué)習(xí)路線。

本書特色
▲ 零基礎(chǔ)、入門級(jí)的講解
無(wú)論讀者是否從事計(jì)算機(jī)相關(guān)行業(yè),是否接觸過(guò)C#,是否使用C#開發(fā)過(guò)項(xiàng)目,都能從本書中找到最佳起點(diǎn)。
▲ 超多、實(shí)用、專業(yè)的范例和項(xiàng)目
本書結(jié)合實(shí)際工作中的范例,逐一講解C#的各種知識(shí)和技術(shù)。最后,還以實(shí)際開發(fā)項(xiàng)目來(lái)總結(jié)本書所學(xué)內(nèi)容,幫助讀者在實(shí)戰(zhàn)中掌握知識(shí),輕松擁有項(xiàng)目經(jīng)驗(yàn)。
▲ 隨時(shí)檢測(cè)自己的學(xué)習(xí)成果
每章首頁(yè)羅列了“本章要點(diǎn)”,以便讀者明確學(xué)習(xí)方向。每章最后的“實(shí)戰(zhàn)練習(xí)”則根據(jù)所在章的知識(shí)點(diǎn)精心設(shè)計(jì)而成,讀者可以隨時(shí)自我檢測(cè),鞏固所學(xué)知識(shí)。
▲ 細(xì)致入微、貼心提示
本書在講解過(guò)程中使用了“提示”、“注意”、 “技巧”等小欄目,幫助讀者在學(xué)習(xí)過(guò)程中更清楚地理解基本概念、掌握相關(guān)操作,并輕松獲取實(shí)戰(zhàn)技巧。
超值光盤
▲ 17小時(shí)全程同步教學(xué)錄像
涵蓋本書所有知識(shí)點(diǎn),詳細(xì)講解每個(gè)范例及項(xiàng)目的開發(fā)過(guò)程及關(guān)鍵點(diǎn)。幫助讀者更輕松地掌握書中所有的C#程序設(shè)計(jì)知識(shí)。
▲ 超多王牌資源大放送
贈(zèng)送大量王牌資源,包括38小時(shí)C#項(xiàng)目實(shí)戰(zhàn)教學(xué)錄像、799頁(yè)C#類庫(kù)查詢手冊(cè)、52頁(yè)C#控件查詢手冊(cè)、10套超值完整源代碼、56個(gè)C#常見(jiàn)面試題及解析電子書、123個(gè)C#常見(jiàn)錯(cuò)誤及解決方案電子書、50個(gè)C#高效編程技巧、C#程序員職業(yè)規(guī)劃、C#程序員面試技巧等。
讀者對(duì)象
? 沒(méi)有任何C#基礎(chǔ)的初學(xué)者
? 有一定的C#基礎(chǔ),想精通C#的人員
? 有一定的C#基礎(chǔ),缺乏C#實(shí)戰(zhàn)經(jīng)驗(yàn)的人員
? 大專院校及培訓(xùn)學(xué)校的老師和學(xué)生
光盤使用說(shuō)明
01. 光盤運(yùn)行后首先播放片頭動(dòng)畫,之后進(jìn)入光盤的主界面。其中包括【課堂再現(xiàn)】、【C#項(xiàng)目實(shí)戰(zhàn)教學(xué)錄像】?jī)蓚€(gè)學(xué)習(xí)通道,和【范例源碼】、【實(shí)戰(zhàn)練習(xí)答案】、【贈(zèng)送資源】、【幫助文件】、【退出光盤】五個(gè)功能按鈕。

02. 單擊【課堂再現(xiàn)】按鈕,進(jìn)入多媒體同步教學(xué)錄像界面。在左側(cè)的章號(hào)按鈕上單擊鼠標(biāo)左鍵,在彈出的快捷菜單上單擊要播放的節(jié)名,即可開始播放相應(yīng)的教學(xué)錄像。

03. 單擊【C#項(xiàng)目實(shí)戰(zhàn)教學(xué)錄像】按鈕,可以查看相關(guān)視頻文件,在打開的文件夾中包含了教學(xué)錄像及其實(shí)戰(zhàn)源碼,在【同步視頻】文件夾下進(jìn)入子文件夾,雙擊要播放的視頻,即可使用電腦中的播放器進(jìn)行播放。

04. 單擊【范例源碼】按鈕,可打開本書范例源碼文件夾。
05. 單擊【實(shí)戰(zhàn)練習(xí)答案】按鈕,可在打開的文件夾中看到實(shí)戰(zhàn)練習(xí)答案。
06. 單擊【贈(zèng)送資源】按鈕可以查看隨本書贈(zèng)送的資源。
07. 單擊【幫助文件】按鈕,可以打開“光盤使用說(shuō)明.pdf”文檔,該說(shuō)明文檔詳細(xì)介紹了光盤在電腦上的運(yùn)行環(huán)境及運(yùn)行方法等。
08. 單擊【退出光盤】按鈕,即可退出本光盤系統(tǒng)。網(wǎng)站支持
更多學(xué)習(xí)資料,請(qǐng)?jiān)L問(wèn)www.51pcbook.cn。
創(chuàng)作團(tuán)隊(duì)
本書由龍馬高新教育策劃,國(guó)家863中部軟件孵化器組織編寫,鄒東堯任主編,朱會(huì)東、王治國(guó)任副主編。參加編寫的人員分工如下:第6~8章由張啟坤編寫,第9章和第10章由吳懷廣編寫,第11~15章由王治國(guó)編寫,第16~20章由朱會(huì)東編寫,第21~24章由黃燕編寫,第0~5章及第25~27章由鄒東堯、李晨編寫。參加資料整理的人員有韓騰飛、薛楓、孔萬(wàn)里、李震、趙源源、喬娜、周奎奎、王果、陳小杰、左琨、鄧艷麗、崔姝怡、侯蕾、左花蘋、劉錦源、普寧、王常吉、師鳴若、鐘宏偉、陳川、劉子威、徐永俊、朱濤和張?jiān)实取?/p>
在編寫過(guò)程中,我們竭盡所能地將最準(zhǔn)確的C#理解和感悟呈現(xiàn)給讀者,但也難免有疏漏和不妥之處,敬請(qǐng)不吝指正。若您在學(xué)習(xí)過(guò)程中遇到困難或疑問(wèn),或有任何建議,可發(fā)送電子郵件至zhangyi@ptpress.com.cn。
編者
第0章 C#學(xué)習(xí)指南
要想真正掌握C#,就必須知道這門語(yǔ)言的來(lái)源和歷史。本章是學(xué)習(xí)C#語(yǔ)言的第0章,是讀者掌握C#這門語(yǔ)言的啟蒙課。通過(guò)對(duì)本章的學(xué)習(xí),讀者將初步了解C#語(yǔ)言的來(lái)源、C#的基礎(chǔ)思想、C#的技術(shù)體系及C#應(yīng)用領(lǐng)域和前景,除此之外,還可以通過(guò)C#學(xué)習(xí)經(jīng)驗(yàn)之談和C#學(xué)習(xí)路線圖進(jìn)一步了解C#。
本章要點(diǎn)(已掌握的在方框中打鉤)
□ C# 的來(lái)源
□ C#的基本思想
□ C#的技術(shù)體系
□ C#應(yīng)用領(lǐng)域和前景
□ C#學(xué)習(xí)經(jīng)驗(yàn)談
□ C#學(xué)習(xí)路線圖
0.1 C# 的來(lái)源
C#編程語(yǔ)言是微軟公司推出的基于.NET框架的、面向?qū)ο蟮母呒?jí)編程語(yǔ)言。C#與C、C++、Java有著密切的關(guān)系,是.NET框架中最常用的編程語(yǔ)言。
0.1.1 C#語(yǔ)言的產(chǎn)生背景
1995年,SUN公司推出面向?qū)ο蟮拈_發(fā)語(yǔ)言—Java之后,由于它的跨平臺(tái)、跨語(yǔ)言特性,使得越來(lái)越多的基于C/C++的開發(fā)人員轉(zhuǎn)向了Java。很快,微軟公司也推出了基于Java語(yǔ)言的編譯器Visual J++,并在短時(shí)間內(nèi)升級(jí)到了6.0版本。
Visual J++雖然有強(qiáng)大的開發(fā)功能,但主要應(yīng)用在Windows平臺(tái)的系統(tǒng)開發(fā)中,因此SUN公司認(rèn)為Visual J++違反了Java的許可協(xié)議,即違反了Java平臺(tái)的中立性,這使得微軟公司處于被動(dòng)局面。為了改變這一局面,微軟公司提出了進(jìn)軍互聯(lián)網(wǎng)的龐大計(jì)劃—.NET計(jì)劃,以及該計(jì)劃中的開發(fā)語(yǔ)言—C#。
1998年,Anders Hejlsberg和他的微軟開發(fā)團(tuán)隊(duì)開始設(shè)計(jì)C#語(yǔ)言(C#英文讀做C Sharp)。
0.1.2 C#語(yǔ)言的發(fā)展過(guò)程
C#語(yǔ)言的發(fā)展主要經(jīng)歷了以下階段。
2000年微軟公司發(fā)布了C#語(yǔ)言的第一個(gè)版本,它是一種全新且簡(jiǎn)單、安全、完全面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,是專門為.NET的應(yīng)用而開發(fā)的語(yǔ)言,它吸收了C++、Visual Basic、Delphi、Java等語(yǔ)言的優(yōu)點(diǎn),C#基本上繼承了C語(yǔ)言的語(yǔ)法風(fēng)格,又從C++那里繼承了面向?qū)ο蟮奶卣鳌M瑫r(shí),C#和Java也極其相似。
2003年,微軟公司發(fā)布了C# 1.2,Visual Studio.NET 2003使用的是C# 1.2。
2005年,微軟公司發(fā)布了C# 2.0,Visual Studio.NET 2005使用的是C# 2.0。
2007年,微軟公司發(fā)布了C# 3.0,Visual Studio.NET 2008使用的是C# 3.0。
2010年,微軟公司發(fā)布了C# 4.0,Visual Studio.NET 2010使用的是C# 4.0。
2013年,微軟公司發(fā)布了C# 4.5,Visual Studio.NET 2013使用的是C# 4.5。
C# 2.0在C# 1.2的基礎(chǔ)上,增加了泛型、匿名方法、迭代、部分類等。C# 3.0在C# 2.0的基礎(chǔ)上,增加了擴(kuò)展方法、Lambda表達(dá)式、查詢表達(dá)式、自動(dòng)實(shí)現(xiàn)的屬性、匿名變量等。C# 4.0在C# 3.0的基礎(chǔ)上,增加了dynamic關(guān)鍵字、默認(rèn)參數(shù)、可選參數(shù)等。C# 5.0在C# 4.0的基礎(chǔ)上,增加了帶參數(shù)的泛型構(gòu)造函數(shù)、支持null類型運(yùn)算、case支持表達(dá)式、擴(kuò)展屬性和綁定運(yùn)算符等。
0.2 C#的基本思想
C#的基本思想即面向?qū)ο蟆C嫦驅(qū)ο蟮木幊淘O(shè)計(jì)(Object Oriented Programming,OOP)旨在將實(shí)際世界中存在的事物或概念通過(guò)抽象的方法模擬到計(jì)算機(jī)程序中,盡量使用人的自然思維,著重強(qiáng)調(diào)人的正常思維方式和原則。
面向?qū)ο蟮木幊淘O(shè)計(jì)是將數(shù)據(jù)及處理這些數(shù)據(jù)的操作都封裝(Encapsulation)到一個(gè)稱為類(Class)的數(shù)據(jù)結(jié)構(gòu)中。面向?qū)ο蟮木幊淘O(shè)計(jì)具有封裝、繼承和多態(tài)性等特點(diǎn)。封裝用于隱藏調(diào)用者不需要了解的信息;繼承則簡(jiǎn)化了類的設(shè)計(jì);多態(tài)性是指相同對(duì)象收到相同信息,或不同對(duì)象收到相同信息時(shí),產(chǎn)生不同的行為方式。
0.3 C#的技術(shù)體系
C#是一種全新的、面向?qū)ο蟮木幊陶Z(yǔ)言。它依附于.NET Framework架構(gòu),它高效的運(yùn)行效率、簡(jiǎn)單易于理解的語(yǔ)法,加之強(qiáng)大的編譯器支持,使得程序的開發(fā)變得異常迅速。它的技術(shù)體系主要有以下幾個(gè)方面。
(1) 徹底的面向?qū)ο笤O(shè)計(jì),C#具有面向?qū)ο笳Z(yǔ)言所擁有的一切特性,即封裝、繼承和多態(tài)。C#與Web應(yīng)用緊密地結(jié)合,支持絕大多數(shù)的Web標(biāo)準(zhǔn),例如,HTML、XML、SOAP等。
(2) Windows Form技術(shù),用來(lái)開發(fā)Windows桌面程序,數(shù)據(jù)提供程序管理提供易于連接OLEDB和ODBC數(shù)據(jù)源的數(shù)據(jù)控件,包括Microsoft SQL Server、Microsoft Access、Jet、DB2及Oracle等,通過(guò)強(qiáng)大的控件庫(kù)可以快速開發(fā)出桌面應(yīng)用程序。
(3) WPF技術(shù),微軟的新一代圖形系統(tǒng),運(yùn)行在.NET Framework 3.0及以上版本,為用戶界面、2D/3D圖形、文檔和媒體提供了新的操作方法。
(4) WebForm技術(shù),是Windows使用C#語(yǔ)言來(lái)開發(fā)Web應(yīng)用程序的工具,它封裝了大量的服務(wù)器控件,讓開發(fā)Web變得簡(jiǎn)單。
(5) MVC技術(shù),是ASP.NET編程模式的一種,使用模型—視圖—控制器設(shè)計(jì)創(chuàng)建Web應(yīng)用程序,這種分層的設(shè)計(jì)使程序員能夠在復(fù)雜性高的程序中各司其職,專注于自己的方面。
0.4 C#應(yīng)用領(lǐng)域和前景
C#語(yǔ)言出身于微軟公司,C#主要用來(lái)構(gòu)建在.NET Framework上運(yùn)行的各種安全、可靠的應(yīng)用程序。它的應(yīng)用領(lǐng)域十分廣泛。
1. Web應(yīng)用程序
Web應(yīng)用包括ASP.NET應(yīng)用程序、Windows窗體應(yīng)用程序。
2.數(shù)據(jù)庫(kù)應(yīng)用程序開發(fā)
C#中的ADO.NET技術(shù)適合進(jìn)行數(shù)據(jù)庫(kù)應(yīng)用程序的開發(fā)。數(shù)據(jù)庫(kù)應(yīng)用程序可理解為業(yè)務(wù)管理軟件,具體應(yīng)用如圖書管理系統(tǒng)、人事管理系統(tǒng)等。
3.桌面應(yīng)用程序
桌面應(yīng)用包括控制臺(tái)應(yīng)用程序、Windows窗體應(yīng)用程序等。
4.插件技術(shù)
插件技術(shù)編程在計(jì)算機(jī)軟件中廣泛運(yùn)用,它提高了軟件的擴(kuò)展性,延長(zhǎng)了軟件的生命周期,在一定程度上是對(duì)軟件功能的擴(kuò)充。
5.移動(dòng)設(shè)備應(yīng)用程序
移動(dòng)設(shè)備應(yīng)用程序即嵌入式開發(fā)領(lǐng)域,主要是面向Windows CE等微軟的產(chǎn)品。
6.游戲軟件開發(fā)
C#語(yǔ)言通過(guò)與XNA游戲開發(fā)框架相結(jié)合,可以使開發(fā)出的游戲效果更加絢麗。
上面介紹了幾個(gè)主要的C#應(yīng)用領(lǐng)域,實(shí)際上C#語(yǔ)言幾乎可以應(yīng)用到程序開發(fā)的任何領(lǐng)域。那么C#的前景怎么樣?根據(jù)2014年9月Tiobe編程語(yǔ)言排行榜可以看出,C#語(yǔ)言繼續(xù)呈上升趨勢(shì),同比上升一位,排在了所有語(yǔ)言的第五位,發(fā)展趨勢(shì)良好。下圖所示為2014年9月Tiobe編程語(yǔ)言排行榜及C#語(yǔ)言發(fā)展趨勢(shì)。

0.5 C#學(xué)習(xí)經(jīng)驗(yàn)談
C#語(yǔ)言自C/C++演變而來(lái),它的語(yǔ)法和Java語(yǔ)言一樣,更加簡(jiǎn)潔。C#語(yǔ)言是完全按照面向?qū)ο蟮乃枷雭?lái)設(shè)計(jì)的,且與Web應(yīng)用和Windows應(yīng)用緊密結(jié)合。那么怎樣學(xué)習(xí)程序設(shè)計(jì),學(xué)好C#語(yǔ)言?現(xiàn)將筆者的學(xué)習(xí)經(jīng)驗(yàn)與讀者朋友分享。
1.培養(yǎng)興趣,明確學(xué)習(xí)目標(biāo)
“興趣是最好的老師。”如果把編寫程序看做一種愛(ài)好,就不會(huì)覺(jué)得枯燥無(wú)味。在確定學(xué)習(xí)編程之前,需明確自己的學(xué)習(xí)目標(biāo),制定可行的計(jì)劃,切忌三天打魚兩天曬網(wǎng)。
2.打好基礎(chǔ),循序漸進(jìn)
“水之積也不厚,則其負(fù)大舟也無(wú)力。”在學(xué)習(xí)C#編程的路上要腳踏實(shí)地,一步一個(gè)腳印。先學(xué)好基礎(chǔ)知識(shí),再循序漸進(jìn)地學(xué)習(xí)一些高級(jí)的特性。
3.多實(shí)踐,多交流
“讀十篇不如做一篇。”程序設(shè)計(jì)必須要自己動(dòng)手動(dòng)腦上機(jī)調(diào)試程序,切忌紙上談兵。在初學(xué)編程時(shí),一定會(huì)遇到許多問(wèn)題。不要慌張,要多交流、多請(qǐng)教,吸取別人的長(zhǎng)處,豐富自己的編程經(jīng)驗(yàn),提高編程水平。要注意培養(yǎng)自己的邏輯思維能力,掌握編程思想,當(dāng)然,做到這一點(diǎn),需要不斷實(shí)踐、思考、交流和總結(jié)。
4.善于利用資源
“泰山不讓土壤,故能成其大;河海不擇細(xì)流,故能就其深。”在學(xué)習(xí)C#的過(guò)程中,要充分利用網(wǎng)絡(luò)資源,比如大型搜索引擎網(wǎng)站(百度、谷歌等)、知名的論壇、博客園等。多讀好書,多參考程序代碼,并從中分析,歸納出好的方法、經(jīng)驗(yàn)為己所用。
5.養(yǎng)成良好的編程習(xí)慣
“習(xí)慣決定命運(yùn),細(xì)節(jié)決定成敗。”良好的編程習(xí)慣對(duì)于編程能力的提高也是非常重要的。在編程時(shí)要有良好的風(fēng)格,源代碼的邏輯簡(jiǎn)明清晰、易讀易懂是好程序的重要標(biāo)準(zhǔn)。
6.堅(jiān)定目標(biāo),樹立信心
“成功的奧秘在于目標(biāo)的堅(jiān)定。”在學(xué)習(xí)編程過(guò)程中,要堅(jiān)持堅(jiān)持再堅(jiān)持!
0.6 C#學(xué)習(xí)路線圖
第一步為入門階段,主要學(xué)習(xí)C#基礎(chǔ)語(yǔ)法,如數(shù)據(jù)類型、變量與常量、字符串與表達(dá)式、數(shù)組和集合、程序的基本結(jié)構(gòu)、異常處理與程序調(diào)試、常用數(shù)據(jù)類型的用法,對(duì)C#面向?qū)ο缶幊逃兴J(rèn)識(shí)的同時(shí)還要了解更高級(jí)的事件和委托。入門時(shí),可編寫一些控制臺(tái)程序來(lái)鞏固這些基礎(chǔ)。
第二步為提高階段,主要包括Windows應(yīng)用程序高級(jí)控件、C#面向?qū)ο蟾呒?jí)技術(shù)、ADO.NET數(shù)據(jù)訪問(wèn)技術(shù)、報(bào)表與打印、文件及數(shù)據(jù)流技術(shù)、線程的使用、網(wǎng)絡(luò)編程技術(shù),初步了解項(xiàng)目部署等。
第三步,有了第一步和第二步的基礎(chǔ),進(jìn)行一些項(xiàng)目實(shí)戰(zhàn)練習(xí)。在練習(xí)中查漏補(bǔ)缺,總結(jié)經(jīng)驗(yàn),從而掌握C#,并充分發(fā)揮C#的語(yǔ)言優(yōu)勢(shì)。
- VMware vSphere 7.0云平臺(tái)運(yùn)維與管理(第2版)
- 實(shí)戰(zhàn)Java虛擬機(jī):JVM故障診斷與性能優(yōu)化(第2版)
- Android游戲開發(fā)大全
- Android深度探索(卷1):HAL與驅(qū)動(dòng)開發(fā)
- 移動(dòng)Web實(shí)現(xiàn)指南:面向移動(dòng)設(shè)備的網(wǎng)站優(yōu)化、開發(fā)和設(shè)計(jì)
- 實(shí)用軟件工程
- AIDevOps:智能微服務(wù)開發(fā)、運(yùn)維原理與實(shí)踐
- 自己動(dòng)手構(gòu)造編譯系統(tǒng):編譯、匯編與鏈接
- MindSpore深度學(xué)習(xí)高階技術(shù)
- 軟件測(cè)試項(xiàng)目實(shí)戰(zhàn)
- 軟件項(xiàng)目管理案例教程(第5版)
- Google Android開發(fā)入門與實(shí)戰(zhàn)
- 微信小程序開發(fā)詳解
- Serverless核心技術(shù)和大規(guī)模實(shí)踐
- Arduino與LabVIEW開發(fā)實(shí)戰(zhàn)