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

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

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

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

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