1. 為什么要寫本書
C#(C Sharp)是微軟公司在2000年6月發布的一種全新的編程語言,是為.NET Framework量身定做的程序語言。C#擁有C/C++的強大功能以及Visual Basic簡易使用的特性,是一個基于組件導向(Componentoriented)和對象導向(Objectoriented)的高級程序語言,包括諸如單一繼承、界面處理、編譯生成中間代碼再運行的過程; 是微軟公司.NET Windows網絡框架的主角,程序員可以快速地編寫各種基于Microsoft .NET平臺的應用程序。
作者從事計算機專業教學工作10余年,從事C#程序設計10余年,參與和組織實施了十幾項C#程序的設計和開發。市場上關于C#學習的書籍很多,但相當一部分對于學校的教學開展不對位。作者在充分調研當前高校C#教學效果和軟件公司需求差異的基礎之上,總結自己的教學實踐和應用實踐,精心編寫了此書,此書已在本校范圍內使用了3屆,期間多次改版易稿,完善紕漏瑕疵,力求與時俱進。本書內容既能滿足當前教學需要,激發學生興趣,也能對學生日后走上C#相關崗位,滿足社會需要奠定基礎。
2. 平臺說明
本書中的解決方案和上機練習項目都是在Visual Studio .NET 2013環境下編碼運行的,VS 2013自帶的.NET Framework 4.5和其他版本之間存在一些差異,所以由于運行平臺版本不同,可能會出現編譯錯誤,可自行根據提示調試解決,也可直接升級到.NET Framework 4.5。
3. 運行機制
C#所開發的程序源代碼并不是編譯成能夠直接在操作系統上執行的二進制本地代碼。與Java類似,它被編譯成為中間代碼,然后通過.NET Framework的虛擬機(被稱為通用語言運行時,CLR)執行。所有的C#編程語言都被編譯成這種被稱為MSIL(Microsoft Intermediate Language)的中間代碼,因此雖然最終的程序在表面上仍然與傳統意義上的可執行文件都具有“.exe”的后綴名,但是實際上,如果計算機上沒有安裝.NET Framework,那么這些程序將不能夠被執行。在程序執行時,.NET Framework將中間代碼翻譯成二進制機器碼,從而使它得到正確的運行。最終的二進制代碼被存儲在一個緩沖區中,所以一旦程序使用了相同的代碼,那么將會調用緩沖區中的版本。因此如果一個.NET程序啟動后關閉前第二次被運行,那么這種翻譯不需要進行第二次,速度明顯加快。
4. 內容特色
程序開發的實質是利用計算機高級語言對數據集進行的封裝性讀寫,本書切實遵循這一重要實質,從內容和過程上保證了程序開發的完整性。首先講解了C#語言的語法基礎,這是了解語言和使用語言的第一步; 然后分析了C#語言的編程過程和編程過程中使用的相關調試方式和工具,幫助引導學習者嘗試完成各種基本操作,并在理論講解的同時給出了大量的可行實例,有利于提高學習效率和掌握程度; 最后通過實例講解C#語言操作各種數據集的方法和過程,闡述程序開發的精髓和知識儲備體系。
為了方便讀者學習和教學人員的工作,本書的所有源碼和課件可以從網上直接下載。
5. 結構安排
本書根據C#程序設計學習的內容和技術特點,分為三部分,共19章,從C#的語言基礎、編程實踐、具體應用進行了講解。
第1部分C#基礎包含6章,主要介紹C#的運行平臺.NET Framework,常用的預定義數據類型、面向對象的核心類與對象,以及類的繼承、多態等特性,同時也就事件的觸發、綁定和執行過程進行了闡述。
第2部分C#編程包含8章,從多個角度分析C#的編程過程,講述程序的三大組成結構、正則表達式和泛型在程序中的使用、LINQ查詢對內存數據的操作,以及編程過程中排除故障的異常處理機制、程序診斷和調試工具等知識。
第3部分C#應用包含5章,針對C#在程序開發中的具體應用展開,介紹C#訪問文件、XML、數據庫的方法和過程,并通過兩個C#應用實例為后續學習做了鋪墊。
6. 讀者對象
高校計算機專業學習面向對象程序設計語言的學生; 愛好C#的程序設計人員。
7. 致謝
感謝門玉梅和張雪梅兩位主任對本書的支持,感謝她們給本書提供的建設性意見。
限于編者的水平和經驗,加之時間比較倉促,疏漏或者錯誤之處在所難免,敬請讀者批評指正。
編者
2015年1月于石家莊
第1部分C#基礎
第1章.NET Framework和C#語言
1.1.NET Framework
1.1.1公共語言運行時
1.1.2Framework類庫
1.1.3并行計算平臺
1.1.4動態語言運行時
1.2Visual Studio開發環境
1.3編寫第一個程序
1.4C#程序的組成結構和類結構
小結
作業題
上機練習
第2章理解C#類型
2.1C#類型
2.2預定義類型
2.2.1常用的值類型
2.2.2字符串類型
2.2.3空字符串
2.2.4字符串操作
2.2.5使用StringBuilder創建可變的字符串
2.3類型格式化
2.3.1標準格式字符串
2.3.2自定義格式字符串
2.3.3復合格式化
2.4C#語言中的數據
2.5默認值
2.6null和可以為null的類型
2.7類型強制轉換
2.8運算符
2.8.1算術運算符和賦值運算符
2.8.2關系運算符
2.8.3邏輯運算符
2.8.4條件運算符
小結
作業
上機練習
第3章C#類和對象
3.1面向對象編程
3.2面向組件編程
3.3C#類
3.4作用域和聲明空間
3.4.1訪問性
3.4.2字段和常量
3.4.3屬性
3.4.4方法
3.4.5實例化類
3.5嵌套類
3.6分部類
3.7靜態類
3.8對象初始值設定項
小結
作業
上機練習
第4章繼承、多態、接口和抽象類
4.1繼承和多態
4.1.1類的多態性
4.1.2處理繼承而來的成員
4.2抽象類和抽象成員
4.3接口
小結
作業
上機練習
第5章枚舉類型和結構
5.1枚舉類型
5.1.1普通枚舉
5.1.2位標志枚舉
5.2結構
5.2.1方法
5.2.2構造和初始化
小結
作業
上機練習
第6章事件及其處理
6.1理解事件
6.2訂閱和取消訂閱
6.3匿名方法的展開討論
6.4引發事件
小結
作業
上機練習
第2部分C#編程
第7章程序控制流程
7.1選擇語句
7.1.1if語句
7.1.2switch語句
7.2迭代語句
7.2.1while語句
7.2.2do…while語句
7.2.3for語句
7.2.4foreach語句
7.3跳轉語句
7.3.1break語句
7.3.2continue語句
7.3.3return語句
小結
作業
上機練習
第8章正則表達式
8.1正則表達式概述
8.2C#中的正則表達式
8.2.1使用正則表達式驗證字符串
8.2.2使用正則表達式搜索字符串
小結
作業
上機練習
第9章數組和集合
9.1數組
9.1.1數組索引
9.1.2數組初始化
9.1.3System.Array類
9.2索引器
9.3泛型集合
9.3.1列表
9.3.2Collection <T>
9.3.3字典
9.3.4集
9.3.5堆棧和隊列
9.4集合初始值設定項
小結
作業
上機練習
第10章異常處理錯誤
10.1理解異常
10.2引發異常
10.3處理異常
10.4重新引發捕獲的異常
10.5溢出和整型算術運算
小結
作業
上機練習
第11章泛型的使用
11.1為何使用泛型
11.1.1理解泛型類型參數
11.1.2泛型類型的默認值
11.2使用泛型方法
11.3創建泛型類
11.4結合使用泛型和數組
11.5得到泛型類型的類型
小結
作業
上機練習
第12章LINQ查詢表達式
12.1LINQ簡介
12.1.1選擇數據
12.1.2對數據進行分組和排序
12.1.3連接數據
12.2標準查詢運算方法
12.3Lambda
12.4延遲執行
小結
作業
上機練習
第13章程序診斷處理
13.1有條件地編譯代碼塊
13.2確定一個進程是否停止響應
13.3捕獲進程的標準輸出
13.4查看運行環境
小結
作業
上機練習
第14章在Visual Studio環境中調試程序
14.1注釋代碼
14.2編譯錯誤和運行錯誤
14.3在Visual Studio中調試程序
14.3.1變量窗口
14.3.2使用數據提示
14.3.3使用即時窗口
14.3.4理解斷點
14.3.5控制程序執行
14.4可視化數據
小結
作業
上機練習
第3部分C#應用
第15章使用文件和流
15.1文件和目錄
15.1.1使用路徑
15.1.2特殊目錄
15.1.3DirectoryInfo類和FileInfo類
15.1.4Directory類和File類
15.2讀寫數據
15.2.1二進制文件
15.2.2緩沖流
15.2.3文本文件
15.2.4使用File類讀寫數據
小結
作業
上機練習
第16章使用XML
16.1理解XML DOM
16.2使用LINQ to XML
16.2.1XDocument類
16.2.2XElement類和XAttribute類
16.2.3XName和XNamespace
16.3選擇和查詢XML
16.4修改XML
小結
作業
上機練習
第17章使用數據庫
17.1先決條件
17.2理解ADO.NET
17.3理解LINQ to ADO.NET
17.3.1LINQ to DataSet
17.3.2LINQ to SQL
17.4關于DataTable的常用操作
小結
作業
上機練習
第18章Windows Form應用程序
18.1創建Windows Form程序
18.2Windows Form的工具箱
18.3計算器的實現過程
18.3.1窗體布局
18.3.2為按鈕添加事件
小結
作業
上機練習
第19章Web應用程序
19.1ASP.NET概述并創建第一個ASP.NET應用程序
19.2ASP.NET應用程序相關的知識
19.2.1控件與工具箱
19.2.2Web.config
19.2.3IIS服務器
19.3留言板的實現過程
19.3.1數據庫設計
19.3.2Web.config配置
19.3.3系統文件結構
19.3.4項目實現
小結
作業
上機練習
編后語
參考文獻