C#圖解教程

C#圖解教程

《C#圖解教程》以圖文並茂的形式,用樸實簡潔的文字,並輔之以大量表格和代碼示例,精煉而全面地闡述了最新版C#語言的各種特性,使讀者能夠快速理解、學習和使用C#。同時,《C#圖解教程》還講解了C#與VB、C++等主流語言的不同點和相似之處。

基本信息

作者簡介

Daniel Solis 資深軟體工程師和技術顧問.有20餘年開發經驗,曾為微軟和IBM等大公司提供技術諮詢。他擁有加州大學計算機科學碩士、生物學和英文學士學位。同時,他也是一位傑出的導師。在美國和歐洲從事程式語言、Wirldows程式設計和Unix底層技術相關的教學培訓工作多年。

編輯推薦

《C#圖解教程》是一本經典的C#入門書,不僅適合沒有任何程式語言基礎的初級讀者,而且還是有VB、C++等語言基礎的C#初學者的最佳選擇。
用圖說話,最易學的C#教程,Amazon全五星盛譽,涵蓋VisualC#2008和.NET3.5最新特性。
作為.NET平台上最主要的程式語言,C#在不斷地改進和完善,功能越來越強大。當然,複雜性也隨之增加。令很多初學者不得其門而入。
如何才能讓更多人輕鬆地學習和掌握C#呢?《C#圖解教程》作者總結了自己數十年軟體開發和教學培訓經驗,創造了一種全新的可視化敘述方式。在書中,他通過大量圖、表和代碼,與簡潔的文字完美結合,從底層運行原理的角度闡述了最新版C#和NET的所有基本特性,並講解了LINQ、異步編程和反射等高級特性,使原本非常複雜的知識點變得簡單明了、清晰透徹,讓人耳目一新,大大降低了學習難度。閱讀《C#圖解教程》時,你仿佛置身於課堂。看著一位經驗豐富的老師拿著粉筆畫圖演示,娓娓道來。《C#圖解教程》原版一經問世.就贏得廣泛好評,被譽為C#入門經典著作。不僅適合自學,也是課堂教學的首選。

目錄

第1章C#和.NET框架
1.1在.NET之前
1.1.120世紀90年代後期的Windows編程
1.1.2下一代平台的目標
1.2進入Microsoft.NET
1.2.1.NET框架的組成
1.2.2大大改進的編程環境
1.3編譯成CIL
1.4編譯成本機代碼並執行
1.5CLR
1.6CLI
1.7縮寫回顧
第2章C#編程概述
2.1一個簡單的C#程式
2.2標識符和關鍵字
2.2.1命名約定
2.2.2關鍵字
2.3Main:程式的起始點
2.4空白
2.5語句
2.5.1簡單語句
2.5.2塊
2.6從程式中輸出文本
2.6.1Write
2.6.2WriteLine
2.6.3格式字元串
2.6.4多重標記和值
2.7注釋
2.7.1關於注釋的補充
2.7.2文檔注釋
2.7.3注釋類型總結
第3章類型、存儲和變數
3.1C#程式是一組類型聲明
3.2類型是一種模板
3.3實例化類型
3.4數據成員和函式成員
3.5預定義類型
3.6用戶定義類型
3.7棧和堆
3.7.1棧
3.7.2堆
3.8值類型和引用類型
3.8.1存儲引用類型對象的成員
3.8.2C#類型的分類
3.9變數
3.9.1變數聲明
3.9.2多重變數聲明
3.9.3使用變數的值
第4章類:基礎
4.1類的概述
4.2程式和類:一個快速的示例
4.3聲明類
4.4類成員
4.4.1欄位
4.4.2顯式和隱式欄位初始化
4.4.3聲明多個欄位
4.4.4方法
4.5創建變數和類的實例
4.6為數據分配記憶體
4.7實例成員
4.8訪問修飾符
4.9從類的內部訪問成員
4.10從類的外部訪問成員
4.11綜合套用
第5章方法
5.1方法的結構
5.2本地變數
5.2.1類型推斷和var關鍵字
5.2.2嵌套塊中的本地變數
5.3本地常量
5.4方法調用
5.5返回值
5.6參數
5.6.1形參
5.6.2實參
5.6.3帶輸入參數的方法示例
5.7值參數
5.8引用參數
5.9輸出參數
5.10參數數組
5.10.1方法調用
5.10.2數組作實參
5.11參數類型總結
5.12棧幀
5.13遞歸
5.14方法重載
第6章類進階
6.1類成員
6.2實例類成員
6.3靜態欄位
6.4從類的外部訪問靜態成員
6.4.1靜態欄位示例
6.4.2靜態成員的生存期
6.5靜態函式成員
6.6其他靜態類成員類型
6.7成員常量
6.8屬性
6.8.1屬性聲明和訪問器
6.8.2屬性示例
6.8.3使用屬性
6.8.4屬性和關聯欄位
6.8.5執行其他計算
6.8.6隻讀和只寫屬性
6.8.7計算唯讀屬性示例
6.8.8屬性和資料庫示例
6.8.9自動實現屬性
6.8.10靜態屬性
6.9實例構造函式
6.9.1帶參數的構造函式
6.9.2默認構造函式
6.10靜態構造函式
6.10.1靜態構造函式示例
6.10.2構造函式的可訪問性
6.11對象初始化列表
6.12析構函式
6.12.1調用析構函式
6.12.2標準清理模式
6.13比較構造函式和析構函式
6.14readonly修飾符
6.15this關鍵字
6.16索引
6.16.1什麼是索引
6.16.2索引和屬性
6.16.3聲明索引
6.16.4set訪問器
6.16.5get訪問器
6.16.6關於索引的補充
6.16.7為Employee示例聲明索引
6.16.8另一個索引示
6.16.9索引重載
6.17訪問器的訪問修飾符
6.18分部類和分部類型
第7章類和繼承
7.1類繼承
7.2訪問繼承的成員
7.3隱藏基類的成員
7.4基類訪問
7.5使用基類的引用
7.5.1虛方法和覆寫方法
7.5.2覆寫標記為override的方法
7.6構造函式的執行
7.6.1構造函式初始化語句
7.6.2類訪問修飾符
7.7程式集間的繼承
7.8成員訪問修飾符
7.8.1訪問成員的區域
7.8.2公有成員的可訪問性
7.8.3私有成員的可訪問性
7.8.4受保護成員的可訪問性
7.8.5內部成員的可訪問性
7.8.6受保護內部成員的可訪問性
7.8.7成員訪問修飾符的總結
7.9抽象成員
7.10抽象類
7.11密封類
7.12靜態類
7.13擴展方法
7.14外部方法
第8章表達式和運算符
8.1表達式
8.2字面量
8.2.1整數字面量
8.2.2實數字面量
8.2.3字元字面量
8.2.4字元串字面量
8.3求值順序
8.3.1優先權
8.3.2結合性
8.4簡單算術運算符
8.5求余運算符
8.6關係比較運算符和相等比較運算符
8.7遞增運算符和遞減運算符
8.8條件邏輯運算符
8.9邏輯運算符
8.10移位運算符
8.11賦值運算符
8.12條件運算符
8.13一元算術運算符
8.14用戶定義類型轉換
8.15運算符重載
8.15.1運算符重載的限制
8.15.2運算符重載的示例
8.16typeof運算符
第9章語句
9.1什麼是語句
9.2表達式語句
9.3控制流語句
9.4if語句
9.5if…else語句
9.6switch語句
9.6.1分支示例
9.6.2switch語句的補充
9.6.3分支標籤
9.7while循環
9.8do循環
9.9for循環
9.9.1for語句中變數的有效範圍
9.9.2初始化語句和疊代表達式中的多表達式
9.10跳轉語句
9.10.1break語句
9.10.2continue語句
9.11標籤語句
9.11.1標籤
9.11.2標籤語句的範圍
9.12goto語句
9.13using語句
9.13.1資源的包裝使用
9.13.2using語句的示例
9.13.3多個資源和嵌套
9.13.4using語句的另一種形式
9.14其他語句
第10章命名空間和程式集
10.1引用其他程式集
10.2命名空間
10.2.1命名空間名稱
10.2.2命名空間的補充
10.2.3命名空間跨檔案伸展
10.2.4嵌套命名空間
10.3using指令
10.3.1using命名空間指令
10.3.2using別名指令
10.4程式集的結構
10.5程式集標識符
10.6強命名程式集
10.7程式集的私有方式部署
10.8共享程式集和GAC
10.8.1把程式集安裝到GAC
10.8.2GAC內的並肩執行
10.9配置檔案
10.10延遲簽名
第11章異常
11.1什麼是異常
11.2try語句
11.3異常類
11.4catch子句
11.4.1使用特定catch子句的示例
11.4.2catch子句段
11.5finally塊
11.6為異常尋找處理代碼
11.7更進一步搜尋
11.7.1一般法則
11.7.2搜尋調用棧的示例
11.8拋出異常
11.9不帶異常對象的拋出
第12章結構
12.1什麼是結構
12.2結構是值類型
12.3對結構賦值
12.4構造函式和析構函式
12.4.1實例構造函式
12.4.2靜態構造函式
12.4.3構造函式和析構函式的總結
12.5欄位初始化是不允許的
12.6結構是密封的
12.7裝箱和取消裝箱
12.8結構作為返回類型和參數
12.9關於結構的附加信息
第13章枚舉
13.1枚舉
13.1.1設定底層類型和顯式值
13.1.2隱式成員編號
13.2位標誌
13.2.1Flags特性
13.2.2使用位標誌的示例
13.3關於枚舉的補充
第14章數組
14.1數組
14.1.1定義
14.1.2重要細節
14.2數組的類型
14.3數組是對象
14.4一維數組和矩形數組
14.5實例化一維數組或矩形數組
14.6訪問數組元素
14.7初始化數組
14.7.1顯式初始化一維數組
14.7.2顯式初始化矩形數組
14.7.3初始化矩形數組的語法點
14.7.4快捷語法
14.7.5隱式類型數組
14.7.6綜合內容
14.8交錯數組
14.8.1聲明交錯數組
14.8.2快捷實例化
14.8.3實例化交錯數組
14.8.4交錯數組中的子數組
14.9比較矩形數組和交錯數組
14.10foreach語句
14.10.1疊代變數是唯讀的
14.10.2foreach語句和多維數組
14.11數組協變
14.12數組繼承的有用成員
14.13比較數組類型
第15章委託
15.1什麼是委託
15.2聲明委託類型
15.3創建委託對象
15.4賦值委託
15.5組合委託
15.6為委託增加方法
15.7從委託移除方法
15.8調用委託
15.9委託的示例
15.10調用帶返回值的委託
15.11調用帶引用參數的委託
15.12匿名方法
15.12.1使用匿名方法
15.12.2匿名方法的語法
15.12.3變數和參數的作用域
15.13Lambda表達式
第16章事件
16.1事件和委託相似
16.2原始碼組件概覽
16.3聲明事件
16.3.1事件是成員
16.3.2委託類型和EventHandler
16.4觸發事件
16.5訂閱事
16.6標準事件的用法
16.6.1使用EventArgs類
16.6.2通過擴展EventArgs來傳遞數據
16.6.3使用自定義委託
16.7MyTimerClass代碼
16.8事件訪問器
第17章接口
17.1什麼是接口
17.2聲明接口
17.3實現接口
17.4接口是引用類型
17.5接口和as運算符
17.6實現多個接口
17.7實現具有重複成員的接口
17.8多個接口的引用
17.9派生成員作為實現
17.10顯式接口成員實現
17.11接口可以繼承接口
第18章轉換
18.1什麼是轉換
18.2隱式轉換
18.3顯式轉換和強制轉換
18.4轉換的類型
18.5數字的轉換
18.5.1隱式數字轉換
18.5.2溢出檢測上下文
18.5.3顯式數字轉換
18.6引用轉換
18.6.1隱式引用轉換
18.6.2顯式引用轉換
18.6.3有效顯式引用轉換
18.7裝箱轉換
18.8拆箱轉換
18.9用戶自定義轉換
18.9.1用戶自定義轉換的約束
18.9.2用戶自定義轉換的示例
18.9.3計算用戶自定義轉換
18.9.4多步用戶自定義轉換的示例
18.10is運算符
18.11as運算符
第19章泛型
19.1什麼是泛型
19.2C#中的泛型
19.3泛型類
19.4聲明泛型類
19.5創建構造類型
19.6創建變數和實例
19.6.1使用泛型的棧的示例
19.6.2比較泛型和非泛型棧
19.7類型參數的約束
19.7.1Where子句
19.7.2約束類型和次序
19.8泛型結構
19.9泛型接口
19.9.1使用泛型接口的示例
19.9.2泛型接口的實現必須唯一
19.10泛型委託
19.11泛型方法
19.11.1聲明泛型方法
19.11.2調用泛型方法
19.11.3泛型方法的示例
19.12擴展方法和泛型類
第20章枚舉數和疊代器
20.1枚舉數和可枚舉類型
20.1.1使用foreach語句
20.1.2枚舉數類型
20.2使用IEnumerator接口
20.3IEnumerable接口
20.4不實現接口的枚舉數
20.5泛型枚舉接口
20.6IEnumeratorT接口
20.7IEnumerableT接口
20.8疊代器
20.8.1疊代器塊
20.8.2使用疊代器來創建枚舉數
20.8.3使用疊代器來創建可枚舉類型
20.9常見疊代器模式
20.10產生可枚舉類型和枚舉數
20.11產生多個可枚舉類型
20.12產生多個枚舉數
20.13疊代器實質
第21章介紹LINQ
21.1什麼是LINQ
21.2LINQ提供程式
21.3查詢語法和方法語法
21.4查詢變數
21.5查詢表達式的結構
21.5.1from子句
21.5.2join子句
21.5.3什麼是聯結
21.5.4查詢主體中的from…let…where片段
21.5.5orderby子句
21.5.6select…group子句
21.5.7查詢中的匿名類型
21.5.8group子句
21.5.9查詢延續
21.6標準查詢運算符
21.6.1查詢表達式和標準查詢運算符
21.6.2標準查詢運算符的簽名
21.6.3委託作為參數
21.6.4LINQ預定義的委託類型
21.6.5使用委託參數的示例
21.6.6使用Lambda表達式參數的示例
21.7LINQtoXML
21.7.1標記語言
21.7.2XML基礎
21.7.3XML類
21.7.4使用XML樹的值
21.7.5使用XML屬性
21.7.6節點的其他類型
21.7.7使用LINQtoXML的LINQ查詢
第22章異步編程簡介
22.1進程、執行緒以及異步編程
22.1.1多執行緒處理帶來的問題
22.1.2多執行緒處理的複雜度
22.2異步編程模式
22.3BeginInvoke和EndInvoke
22.3.1等待——直到結束模式
22.3.2AsyncResult類
22.3.3輪詢模式
22.3.4回調模式
22.4計時器
第23章預處理指令
23.1什麼是預處理指令
23.2基本規則
23.3#define和#undef指令
23.4條件編譯
23.5條件編譯結構
23.6診斷指令
23.7行號指令
23.8區域指令
23.9#pragmawarning指令
第24章反射和特性
24.1元數據和反射
24.2Type類
24.3獲取Type對象
24.4什麼是特性
24.5套用特性
24.6預定義的保留的特性
24.6.1Obsolete特性
24.6.2Conditional特性
24.6.3預定義的特性
24.7有關套用特性的更多內容
24.7.1多個特性
24.7.2其他類型的目標
24.7.3全局特性
24.8自定義特性
24.8.1聲明自定義特性
24.8.2使用特性構造函式
24.8.3指定構造函式
24.8.4使用構造函式
24.8.5構造函式中的位置參數和命名參數
24.8.6限制特性的使用
24.8.7自定義特性的最佳實踐
24.9訪問特性
24.9.1使用IsDefined方法
24.9.2使用GetCustomAttribute方法
第25章其他主題
25.1概述
25.2字元串
25.2.1使用StringBuilder類
25.2.2格式化數字字元串
25.3把字元串解析為數據值
25.4可空類型
25.4.1創建可空類型
25.4.2為可空類型賦值
25.4.3使用可空用戶自定義類型
25.5Main方法
25.6文檔注釋
25.6.1插入文檔注釋
25.6.2使用其他XML標籤
25.7嵌套類型
25.7.1嵌套類的示例
25.7.2可見性和嵌套類型
……

相關詞條

相關搜尋

熱門詞條

聯絡我們