本書較為全面地介紹了基于C#的面向?qū)ο缶幊碳夹g(shù)。在編寫過程中創(chuàng)新性地采用“DAP教學(xué)模式”,通過Demo→Activity→Project,降低學(xué)習(xí)的門檻,循序漸進地培養(yǎng)學(xué)生的編程能力,激發(fā)學(xué)生的學(xué)習(xí)積極性;同時,秉承“教學(xué)做合一”的原則,對各個任務(wù)進行詳細講解,開展手把手教學(xué),并在整個過程中注重編碼規(guī)范,強調(diào)能力培養(yǎng),使學(xué)生在不知不覺中養(yǎng)成企業(yè)開發(fā)規(guī)范,步入軟件開發(fā)大門;在內(nèi)容的選取上注重實用性,通過與企業(yè)專家合作,從高等職業(yè)院校學(xué)生的實際出發(fā),強調(diào)實際、實用、實踐,加強技能培養(yǎng),突出工程實踐,合理反映職業(yè)崗位技能要求。
本書可作為應(yīng)用型本科、高等職業(yè)院校相關(guān)專業(yè)C#程序設(shè)計專業(yè)的教材,又可作為軟件公司對新員工開展崗前培訓(xùn)和社會培訓(xùn)機構(gòu)的培訓(xùn)用書,也可供編程愛好者學(xué)習(xí)和參考。
第1章 初識C# (1)
1.1 C#簡介 (2)
1.2 Visual Studio開發(fā)環(huán)境 (3)
1.3 C#程序結(jié)構(gòu) (4)
1.3.1 第一個C#程序 (4)
1.3.2 C#程序結(jié)構(gòu)分析 (6)
1.4 輸入/輸出操作 (9)
本章小結(jié) (11)
課外ACTIVITY (12)
第2章 C#編程基礎(chǔ) (13)
2.1 數(shù)據(jù)類型 (14)
2.1.1 值類型 (14)
2.1.2 引用類型 (19)
2.2 變量與常量 (20)
2.2.1 變量 (21)
2.2.2 常量 (24)
2.3 類型轉(zhuǎn)換 (24)
2.3.1 隱式轉(zhuǎn)換 (25)
2.3.2 顯式轉(zhuǎn)換 (25)
2.3.3 裝箱和拆箱 (27)
2.4 運算符與表達式 (29)
2.4.1 算術(shù)運算符及其表達式 (29)
2.4.2 賦值運算符及其表達式 (32)
2.4.3 關(guān)系運算符及其表達式 (33)
2.4.4 邏輯運算符及其表達式 (33)
2.4.5 其他運算符 (34)
2.4.6 運算符的優(yōu)先級 (36)
本章小結(jié) (37)
課外ACTIVITY (37)
第3章 流程控制 (38)
3.1 算法的概念 (39)
3.2 順序結(jié)構(gòu) (40)
3.3 選擇結(jié)構(gòu) (41)
3.3.1 if語句 (41)
3.3.2 switch語句 (51)
3.4 循環(huán)結(jié)構(gòu) (54)
3.4.1 while語句 (54)
3.4.2 do- while語句 (56)
3.4.3 for語句 (57)
3.4.4 foreach語句 (59)
3.5 跳轉(zhuǎn)語句 (60)
3.5.1 break語句 (60)
3.5.2 continue語句 (61)
3.6 循環(huán)嵌套 (62)
本章小結(jié) (64)
課外ACTIVITY (65)
第4章 枚舉、數(shù)組和字符串 (66)
4.1 枚舉 (67)
4.2 數(shù)組 (69)
4.2.1 聲明 (69)
4.2.2 初始化 (70)
4.2.3 一維數(shù)組的使用 (70)
4.3 字符串 (72)
4.3.1 聲明字符串變量 (72)
4.3.2 字符串的比較 (72)
4.3.3 字符串的定位 (74)
4.3.4 提取子串 (76)
4.3.5 拆分字符串 (77)
4.3.6 連接字符串 (78)
4.3.7 修改字符串 (79)
4.3.8 格式化字符串 (79)
4.4 StringBuilder類 (80)
4.5 正則表達式 (82)
4.5.1 通配符 (82)
4.5.2 Regex類的常用方法 (84)
本章小結(jié) (86)
課外ACTIVITY (86)
第5章 類的定義和使用 (87)
5.1 類和對象 (88)
5.2 字段 (88)
5.3 屬性 (91)
5.4 方法 (96)
5.4.1 定義方法 (96)
5.4.2 方法參數(shù) (101)
5.4.3 方法重載 (105)
5.5 構(gòu)造方法 (106)
5.6 靜態(tài)成員 (111)
5.7 this關(guān)鍵字 (115)
5.7.1 訪問當(dāng)前對象成員 (115)
5.7.2 定義索引器 (117)
本章小結(jié) (122)
課外ACTIVITY (122)
第6章 集合及泛型集合 (123)
6.1 集合 (124)
6.1.1 ArrayList類 (124)
6.1.2 Hashtable類 (128)
6.2 泛型集合 (131)
6.2.1 List<T>類 (132)
6.2.2 Dictionary<K,V>類 (134)
本章小結(jié) (136)
課外ACTIVITY (136)
第7章 繼承和多態(tài)性 (137)
7.1 類的繼承 (138)
7.1.1 繼承 (138)
7.1.2 繼承的特性 (144)
7.1.3 類型轉(zhuǎn)換 (145)
7.1.4 Object類 (146)
7.1.5 訪問權(quán)限 (147)
7.1.6 繼承條件下對象創(chuàng)建過程 (148)
7.1.7 base關(guān)鍵字 (149)
7.2 抽象類 (153)
7.2.1 引入抽象類 (153)
7.2.2 定義抽象類 (161)
7.3 多態(tài)性 (164)
7.3.1 多態(tài) (164)
7.3.2 虛方法 (164)
7.4 接口 (170)
7.4.1 引入接口 (170)
7.4.2 自定義接口 (178)
7.4.3 泛型接口 (183)
本章小結(jié) (191)
課外ACTIVITY (192)
第8章 文件讀寫及異常處理 (193)
8.1 文件讀寫 (194)
8.1.1 File類和FileInfo類 (195)
8.1.2 Directory類和DirectoryInfo類 (197)
8.1.3 Path類和Environment類 (199)
8.1.4 FileStream類 (201)
8.1.5 StreamReader類和StreamWriter類 (204)
8.1.6 BinaryReader類和BinaryWriter類 (208)
8.2 異常處理 (210)
本章小結(jié) (214)
課外ACTIVITY (214)
第9章 項目訓(xùn)練 (219)
項目訓(xùn)練1 學(xué)院薪資管理系統(tǒng) (219)
項目訓(xùn)練2 企業(yè)薪資管理系統(tǒng) (221)
項目訓(xùn)練3 電器商場庫存管理系統(tǒng) (224)
項目訓(xùn)練4 校園速遞管理系統(tǒng) (226)
附錄 C#編碼規(guī)范 (228)
參考文獻 (229)
前 言
C#是微軟公司推出的業(yè)界主流的程序設(shè)計語言。掌握C#程序設(shè)計語言,對于在校學(xué)生、應(yīng)聘求職者具有極其重要的意義。本書以.NET應(yīng)用程序設(shè)計與開發(fā)這一職業(yè)崗位能力培養(yǎng)為核心,在編寫過程中,本書創(chuàng)新性地采用了“DAP教學(xué)模式”:
(1)Demo(基礎(chǔ)訓(xùn)練):通過Demo,教師示范講解知識點、技能點,然后讓學(xué)生重演Demo,使學(xué)生初步理解知識、掌握技能。
(2)Activity(提高訓(xùn)練):安排在Demo之后,Activity案例與Demo的技能點要求相同,但由學(xué)生在課堂上獨立完成,主要訓(xùn)練學(xué)生融會貫通、靈活應(yīng)用技能點的能力;同時,安排課外Activity(鞏固訓(xùn)練),安排學(xué)生在課外獨立完成,使學(xué)生進一步鞏固知識點、技能點。
(3)Project(項目實戰(zhàn)):安排在課程設(shè)計(實訓(xùn))階段,布置學(xué)生完成若干個來源于企事業(yè)單位實際需求的項目,綜合培養(yǎng)學(xué)生的項目開發(fā)能力。
因此,本書具備如下特色與創(chuàng)新之處:
(1)通過Demo→Activity→Project,降低學(xué)習(xí)的門檻,循序漸進地培養(yǎng)學(xué)生的編程能力,激發(fā)學(xué)生學(xué)習(xí)的積極性,使學(xué)生體會到軟件項目開發(fā)的樂趣,享受成功進行軟件開發(fā)的成就感。
(2)秉承“教學(xué)做合一”的原則,書中包含大量案例,并對各個任務(wù)進行詳細講解,開展手把手教學(xué),老師邊講,學(xué)生邊做,講練結(jié)合,在做中講,在做中練,學(xué)以致用。在做的過程中理解概念,掌握技能;并在整個過程中,注重編碼規(guī)范,強調(diào)能力培養(yǎng),使學(xué)生在不知不覺中掌握企業(yè)開發(fā)規(guī)范,步入軟件開發(fā)大門。
(3)突出校企合作,在內(nèi)容的選取上注重實用性。通過與企業(yè)專家合作,從高等職業(yè)院校學(xué)生的實際出發(fā),強調(diào)實際、實用、實踐,加強技能培養(yǎng),突出工程實踐,合理反映職業(yè)崗位技能要求。
本書是校企合作的成果,由沙洲職業(yè)工學(xué)院的溫一軍、周洪斌老師擔(dān)任主編,董袁泉、陳立平、于淑香老師擔(dān)任副主編,由蘇州經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院李冬教授、沙洲職業(yè)工學(xué)院許禮捷副教授擔(dān)任主審。其中,于淑香老師負責(zé)第1~3章的編寫工作,董袁泉老師負責(zé)第4章、第6章的編寫工作,陳立平老師負責(zé)第8章、第9章的編寫工作,周洪斌老師負責(zé)第5章、第7章及附錄的編寫工作。江蘇國泰新點軟件有限公司高級工程師李強以及NIIT張家港軟件與服務(wù)外包學(xué)院技術(shù)總監(jiān)李經(jīng)緯參與了本書的編寫工作,為本書提供了眾多來源于企業(yè)實際需求的案例。全書由溫一軍、周洪斌老師統(tǒng)稿。
本書凝聚了編者近幾年來學(xué)習(xí).NET技術(shù)、開發(fā).NET軟件、講授.NET課程的心得、體會,希望本書能為我國的軟件人才培養(yǎng)起到推動作用,希望讀者能憑借本書進入.NET開發(fā)大門。
同時,請讀者注意,軟件開發(fā)是一項非常注重實踐的工作,不可能只憑看書、看視頻就學(xué)會軟件開發(fā),必須扎扎實實、一行一行地編寫代碼,不斷積累項目經(jīng)驗,才能真正掌握編程技術(shù)。所以讀者一定要親自上機編寫程序,才能真正掌握軟件開發(fā)技術(shù)。讀者如果能按照本書的要求,循序漸進地完成Demo→Activity→Project,編程能力必將有一個質(zhì)的飛躍。
本書是沙洲職業(yè)工學(xué)院2013年度教育教學(xué)改革重點課題“基于DAP高職教學(xué)模式改革的探索與實踐”(課題編號:2013SGJG002)的階段性研究成果,同時受江蘇省“青藍工程”資助。感謝電子工業(yè)出版社的大力支持,感謝所有在出版過程中給予編者幫助的人,謝謝你們讓本書順利付梓。
盡管編者在編寫方面做了很大努力,但由于水平有限,不當(dāng)之處在所難免,懇請讀者批評指正(編者電子郵箱:itzhb@qq.com)。
編 者