前 言
學習任何技術都要從基礎開始,這本書就是講解C#核心技術的基礎教材。讀者如果簡單調研一下就不難發現,市面上最多的就是這類C#基礎類教材。那麼,我們還有沒有必要再多寫一本沒有特色、枯燥乏味的書呢?答案當然是否定的!作者從事軟體設計開發工作十多年,最近才萌發了寫一本好書的想法。因為作者希望推廣一種最有效學習與培訓的捷徑,這就是Project-driven training,也就是用項目實踐來帶動理論的學習。基於此,作者圍繞一個項目(SuperVCD)來貫穿C#核心技術各個模組的理論講解。這是本書最大的特色!通過項目實踐,可以對技術應用有明確的目的性(為什麼學),對技術原理能夠更好地融會貫通(學什麼),也可以更好地檢驗學習效果(學得怎樣)。
本書的內容以作者在亞思晟高端IT實訓過程中的項目實踐為基本素材整理而來,同時結合作者多年項目設計開發經驗,它具有良好的實踐性和可操作性,並具有具體化、通俗化的特點。
本書特點
1. 重項目實踐
我們多年經驗的體會是“IT是做出來的,不是想出來的”,理論雖然重要,但一定要為實踐服務!以項目為主線,帶動理論的學習是最好、最快、最有效方法!本書的特色是提供了一個完整的SuperVCD項目。通過此書,我們希望讀者對項目開發流程有個整體瞭解,減少對項目實踐的盲目感和神秘感,能夠根據本書的體系循序漸進地動手做出自己的真實項目來!
2.重理論要點
本書是以項目實踐為主線,著重講解C#核心技術理論中最重要、最精華的部分,以及它們之間的融會貫通,這就是本書的特色!讀者首先通過項目把握整體概貌,之後深入局部細節,系統學習理論;然後不斷最佳化和擴充細節,完善整體架構和改進項目。
既有整體架構,又有重點技術。一書在手,思路清晰, 項目無憂!
為什麼選擇這本書
本書基於全新Project-driven training(項目驅動)理念,圍繞一個項目(SuperVCD)來貫穿C#核心技術開發各個模組的理論講解,這是與市場上許多C#基礎教材的最大區別。另外,此書是《項目實踐精解》系列教材的一本,和其他相關教材形成一個完整的體系。
本書與《項目實踐精解》系列中其他圖書的區別及聯絡
“萬丈高樓平地起”,好的開頭等於成功的一半!這些都說明打基礎的重要性。這本書就是介紹C#核心技術基礎的。它是系列叢書《項目實踐精解》其中的一本,也是學習《項目實踐精解:ASP.NET應用開發——基於ASP.NET、C#和ADO.NET的三層架構案例分析》和《項目實踐精解:IT項目的物件導向分析設計、開發及管理——基於.NET平台的ERP系統案例分析》的基礎。
本書的組織圖和學習指南
常常有開發人員和學員問我,什麼是學習C#的最佳途徑?我的回答是“多做,以項目驅動”。學員又繼續問我,那學習理論就不重要了嗎?我的回答是“當然也重要, 但同樣需要以項目驅動”。為什麼呢,試想一下,當你面對上百頁的參考書或者文檔時,是否會茫然不知所措,不知如何開始,不知彼此誰更重要?所以只有以項目驅動才能更好地明確重點和明確主線,才能更好地分配時間和精力,這樣才是最有效。
本書是圍繞一個完整的SuperVCD項目來組織和設計學習C#核心技術的。
第1章 C#核心技術概述
首先介紹.NET平台以及C#曆史、現狀和特點;之後引入C#核心技術中最重要的物件導向基本概念,包括封裝、繼承和多態;最後概述C#核心技術體繫結構,包括核心部分以及應用部分等。
第2章 SuperVCD項目概述
作者希望推廣一種最有效學習與培訓的捷徑,這就是Project-driven training, 也就是用項目實踐來帶動理論的學習。第2章重點介紹一個完整的項目(SuperVCD)。在此提供了完整的需求分析、結構分析和運行指南。
接下來具體介紹C#核心技術開發和編碼。
第3章 C#啟動
學習C#開發的第一步是熟悉C#開發環境,包括.NET開發平台和C#開發工具;在此基礎上講解C#應用程式開發的基本概念,包括C#程式的基本結構,定義類、對象、方法等;以及學習如何編輯、編譯和運行C#應用程式。
第4章 C#基礎文法(一)標識符、關鍵字及資料類型
學習C#語言,首先要學習基礎文法。本章介紹標識符(Identifier)、關鍵字(Keyword)及變數和常量這些基本元素;另外還介紹C#的資料類型,包括實值型別和參考型別。
第5章 C#基礎文法(二)運算式及流程式控制制
本章繼續介紹C#基礎文法:C#運算子;運算式運算,包括運算子的優先次序和資料類型轉換;以及流程式控制制,包括順序流程、分支流程和迴圈流程。
第6章 C#基礎文法(三)數組
數組的概念也是C#語言中的一個重要組成部分。本章介紹數組的聲明、產生和定義,數組的使用,以及數組對象的進階功能。
第7章 C#物件導向核心文法
在前幾章的基礎之上,現在進入本書重點內容的學習,也就是物件導向的重要概念。我們在第7章介紹物件導向核心文法,包括封裝(C#中的類、方法和變數,構造方法,方法重載,內部類和分布類)、繼承(繼承概念、方法重寫)及多態(多態概念和多態實現)。
第8章 C#物件導向進階文法(一)
第8章繼續介紹物件導向的一些進階特性,包括靜態(Static)變數和方法、密封(Sealed)變數和方法、訪問規則(Access Control)、抽象類別和方法、介面(Interface)及集合等。
第9章 C#物件導向進階文法 (二)
第9章繼續介紹物件導向的一些進階特性,包括運算子多載、結構和枚舉、字串與Regex、委託與事件及泛型等。
第10章 異常處理
異常處理也是C#的一個重要概念,它能夠保證程式啟動並執行健壯性。本章內容包括異常定義、異常分類、異常處理(try、catch、finally、throw 語句)及自訂異常。
第11章 使用 WinForm 建立使用者圖形介面
從第10章之後的內容屬於C#核心技術的應用部分,或曰進階部分。本章介紹如何使用 WinForm建立使用者圖形介面,包括WinForm概述,WinForm基礎,常用組件、容器和事件處理等。
第12章 多線程進階編程
對多線程的支援,是C#語言的一個重要優點,它可以實現代碼的並行性,提供者的效能。本章介紹多線程進階編程技術,包括線程簡介,建立、初始化和啟動線程,線程狀態的轉化,資源同時讀取問題和線程的同步,線程的自動管理等。
第13章 使用輸入輸出類
輸入輸出是任何電腦語言都要涉及的,C#也不例外。在本章裡將介紹如何使用輸入輸出類,包括C#檔案和目錄的操作,流的概念和使用流來進行檔案操作,以及XML技術等。
第14章 使用 TCP/IP 和 UDP/IP 開發網路程式
C#從一誕生起,就是面向網路的。在本章裡介紹使用 TCP/IP 和 UDP/IP 開發網路程式,包括網路編程簡介、理解TCP/IP 及UDP/IP 協議、開發TCP/IP網路程式、開發UDP/IP網路程式等。
第15章 ADO.NET資料庫開發
資料庫的使用,是應用開發中必不可少的組成部分。在本章裡介紹資料庫的基礎原理、SQL語言、SQL Server資料庫的基本使用、使用ADO.NET開發資料庫程式的步驟和ADO.NET的常用對象。
在本書的附錄中,介紹Visual Studio工具、C#編程規範、C#與Java的比較、C#與C++的比較以及單元測試工具介紹等內容。
這本書是否適合您
閱讀此書,要求讀者具備電腦編程基礎知識。
本書結構清晰,注重實用,深入淺出,非常適合作為C#核心技術的培訓教材或自學教材,同時也適合作為C#開發人員的參考書。
感謝
本書由梁立新主持編寫,其他參與編寫的人員有梁恒、林瀚、沈彬、於亞傑、孫夏、張瑞、張洪亮、武永琪、唐海餘。
在本書的編寫過程中得到了許多支援和協助。北京亞思晟科技有限公司負責本書的審校和監製工作,部分工作人員利用寶貴時間為本書提供項目相關代碼與文檔,並測試了項目的功能和效能,朋友和家人,特別是妻子Linda,對本書提供了有益的建議和協助,在此表示衷心的感謝。最後,感謝電子工業出版社對本書出版的協助。
連絡方式
北京亞思晟商務科技有限公司
地址:北京海澱上地東路1號院鵬寰國際大廈501
網址:www.ascenttech.com.cn
電話:58859825/26/27/28/29