 |
-- 會員 / 註冊 --
|
|
|
|
C#圖解教程(第4版) ( 簡體 字) |
作者:[美] Daniel M. Solis | 類別:1. -> 程式設計 -> .NET -> C# |
譯者: |
出版社:人民郵電出版社 | 3dWoo書號: 35927 詢問書籍請說出此書號!【缺書】 【不接受訂購】 |
出版日:7/1/2013 |
頁數:524 |
光碟數:0 |
|
站長推薦:  |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
【不接受訂購】 | ISBN:9787115320902 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介:《C#圖解教程(第4版)》是廣受贊譽的C#圖解教程的最新版本。作者在本書中創造了一種全新的可視化敘述方式,以圖文并茂的形式、樸實簡潔的文字,并輔以大量表格和代碼示例,全面、直觀地闡述了C#語言的各種特性。新版本除了精心修訂舊版內容外,還全面涵蓋了C# 5.0的新增特性,比如異步編程、調用者信息、case表達式、帶參數的泛型構造函數、支持null類型運算等。通過本書,讀者能夠快速、深入理解C#,為自己的編程生涯打下良好的基礎。 《C#圖解教程(第4版)》是C#入門的經典好書,適合對C#感興趣的所有讀者。 |
目錄:第1章 C#和.NET框架 1 1.1 在.NET之前 1 1.1.1 20世紀90年代末的Windows編程 1 1.1.2 下一代平臺服務的目標 2 1.2 .NET時代 2 1.2.1 .NET框架的組成 2 1.2.2 大大改進的編程環境 3 1.3 編譯成CIL 5 1.4 編譯成本機代碼并執行 6 1.5 CLR 7 1.6 CLI 8 1.7 各種縮寫 9 1.8 C#的演化 9
第2章 C#編程概述 10 2.1 一個簡單的C#程序 10 2.2 標識符 12 2.3 關鍵字 12 2.4 Main:程序的起始點 13 2.5 空白 13 2.6 語句 14 2.7 從程序中輸出文本 15 2.7.1 Write 15 2.7.2 WriteLine 15 2.7.3 格式字符串 16 2.7.4 多重標記和值 16 2.7.5 格式化數字字符串 17 2.8 注釋:為代碼添加注解 20 2.8.1 關于注釋的補充 21 2.8.2 文檔注釋 21 2.8.3 注釋類型總結 22
第3章 類型、存儲和變量 23 3.1 C#程序是一組類型聲明 23 3.2 類型是一種模板 24 3.3 實例化類型 24 3.4 數據成員和函數成員 25 3.5 預定義類型 26 3.6 用戶定義類型 27 3.7 棧和堆 28 3.7.1 棧 28 3.7.2 堆 29 3.8 值類型和引用類型 30 3.8.1 存儲引用類型對象的成員 31 3.8.2 C#類型的分類 31 3.9 變量 32 3.9.1 變量聲明 32 3.9.2 多變量聲明 34 3.9.3 使用變量的值 34 3.10 靜態類型和dynamic關鍵字 34 3.11 可空類型 35
第4章 類的基本概念 36 4.1 類的概述 36 4.2 程序和類:一個快速示例 37 4.3 聲明類 38 4.4 類成員 38 4.4.1 字段 38 4.4.2 方法 40 4.5 創建變量和類的實例 41 4.6 為數據分配內存 41 4.7 實例成員 42 4.8 訪問修飾符 43 4.9 從類的內部訪問成員 45 4.10 從類的外部訪問成員 46 4.11 綜合應用 47
第5章 方法 49 5.1 方法的結構 49 5.2 方法體內部的代碼執行 50 5.3 本地變量 51 5.3.1 類型推斷和var關鍵字 52 5.3.2 嵌套塊中的本地變量 52 5.4 本地常量 53 5.5 控制流 54 5.6 方法調用 55 5.7 返回值 56 5.8 返回語句和void方法 57 5.9 參數 59 5.9.1 形參 59 5.9.2 實參 59 5.10 值參數 61 5.11 引用參數 63 5.12 引用類型作為值參數和引用參數 65 5.13 輸出參數 68 5.14 參數數組 70 5.14.1 方法調用 71 5.14.2 用數組作為實參 73 5.15 參數類型總結 74 5.16 方法重載 74 5.17 命名參數 75 5.18 可選參數 76 5.19 棧幀 79 5.20 遞歸 81
第6章 深入理解類 83 6.1 類成員 83 6.2 成員修飾符的順序 84 6.3 實例類成員 85 6.4 靜態字段 86 6.5 從類的外部訪問靜態成員 86 6.5.1 靜態字段示例 87 6.5.2 靜態成員的生存期 87 6.6 靜態函數成員 88 6.7 其他靜態類成員類型 89 6.8 成員常量 90 6.9 常量與靜態量 90 6.10 屬性 91 6.10.1 屬性聲明和訪問器 92 6.10.2 屬性示例 93 6.10.3 使用屬性 94 6.10.4 屬性和關聯字段 94 6.10.5 執行其他計算 96 6.10.6 只讀和只寫屬性 96 6.10.7 屬性與公共字段 97 6.10.8 計算只讀屬性示例 97 6.10.9 自動實現屬性 98 6.10.10 靜態屬性 99 6.11 實例構造函數 100 6.11.1 帶參數的構造函數 101 6.11.2 默認構造函數 102 6.12 靜態構造函數 102 6.13 對象初始化語句 104 6.14 析構函數 105 6.15 readonly修飾符 105 6.16 this關鍵字 106 6.17 索引器 107 6.17.1 什么是索引器 108 6.17.2 索引器和屬性 108 6.17.3 聲明索引器 109 6.17.4 索引器的set訪問器 110 6.17.5 索引器的get訪問器 110 6.17.6 關于索引器的補充 111 6.17.7 為Employee示例聲明索引器 111 6.17.8 另一個索引器的示例 112 6.17.9 索引器重載 113 6.18 訪問器的訪問修飾符 114 6.19 分部類和分部類型 115 6.20 分部方法 116
第7章 類和繼承 118 7.1 類繼承 118 7.2 訪問繼承的成員 119 7.3 所有類都派生自object類 120 7.4 屏蔽基類的成員 121 7.5 基類訪問 123 7.6 使用基類的引用 124 7.6.1 虛方法和覆寫方法 125 7.6.2 覆寫標記為override的方法 127 7.6.3 覆蓋其他成員類型 130 7.7 構造函數的執行 130 7.7.1 構造函數初始化語句 132 7.7.2 類訪問修飾符 134 7.8 程序集間的繼承 134 7.9 成員訪問修飾符 136 7.9.1 訪問成員的區域 137 7.9.2 公有成員的可訪問性 138 7.9.3 私有成員的可訪問性 138 7.9.4 受保護成員的可訪問性 138 7.9.5 內部成員的可訪問性 139 7.9.6 受保護內部成員的可訪問性 139 7.9.7 成員訪問修飾符小結 140 7.10 抽象成員 141 7.11 抽象類 142 7.11.1 抽象類和抽象方法的示例 142 7.11.2 抽象類的另一個例子 143 7.12 密封類 144 7.13 靜態類 144 7.14 擴展方法 145 7.15 命名約定 148
第8章 表達式和運算符 150 8.1 表達式 150 8.2 字面量 151 8.2.1 整數字面量 152 8.2.2 實數字面量 153 8.2.3 字符字面量 153 8.2.4 字符串字面量 154 8.3 求值順序 156 8.3.1 優先級 156 8.3.2 結合性 157 8.4 簡單算術運算符 157 8.5 求余運算符 158 8.6 關系比較運算符和相等比較運算符 159 8.7 遞增運算符和遞減運算符 160 8.8 條件邏輯運算符 162 8.9 邏輯運算符 163 8.10 移位運算符 164 8.11 賦值運算符 165 8.12 條件運算符 167 8.13 一元算術運算符 168 8.14 用戶定義的類型轉換 169 8.15 運算符重載 172 8.15.1 運算符重載的限制 172 8.15.2 運算符重載的示例 173 8.16 typeof運算符 174 8.17 其他運算符 176
第9章 語句 177 9.1 什么是語句 177 9.2 表達式語句 178 9.3 控制流語句 179 9.4 if語句 179 9.5 if...else語句 180 9.6 while循環 181 9.7 do循環 182 9.8 for循環 183 9.8.1 for語句中變量的作用域 185 9.8.2 初始化和迭代表達式中的多表達式 185 9.9 switch語句 186 9.9.1 分支示例 187 9.9.2 switch語句的補充 188 9.9.3 分支標簽 189 9.10 跳轉語句 189 9.11 break語句 190 9.12 continue語句 190 9.13 標簽語句 191 9.13.1 標簽 191 9.13.2 標簽語句的作用域 192 9.14 goto語句 192 9.15 using語句 193 9.15.1 資源的包裝使用 194 9.15.2 using語句的示例 195 9.15.3 多個資源和嵌套 196 9.15.4 using語句的另一種形式 197 9.16 其他語句 197
第10章 結構 198 10.1 什么是結構 198 10.2 結構是值類型 199 10.3 對結構賦值 200 10.4 構造函數和析構函數 201 10.4.1 實例構造函數 201 10.4.2 靜態構造函數 202 10.4.3 構造函數和析構函數小結 203 10.5 字段初始化語句是不允許的 203 10.6 結構是密封的 203 10.7 裝箱和拆箱 203 10.8 結構作為返回值和參數 204 10.9 關于結構的其他信息 204
第11章 枚舉 205 11.1 枚舉 205 11.1.1 設置底層類型和顯式值 206 11.1.2 隱式成員編號 207 11.2 位標志 208 11.2.1 Flags特性 210 11.2.2 使用位標志的示例 212 11.3 關于枚舉的補充 213
第12章 數組 216 12.1 數組 216 12.1.1 定義 216 12.1.2 重要細節 217 12.2 數組的類型 217 12.3 數組是對象 218 12.4 一維數組和矩形數組 219 12.5 實例化一維數組或矩形數組 220 12.6 訪問數組元素 220 12.7 初始化數組 221 12.7.1 顯式初始化一維數組 222 12.7.2 顯式初始化矩形數組 222 12.7.3 初始化矩形數組的語法點 223 12.7.4 快捷語法 223 12.7.5 隱式類型數組 223 12.7.6 綜合內容 224 12.8 交錯數組 224 12.8.1 聲明交錯數組 225 12.8.2 快捷實例化 225 12.8.3 實例化交錯數組 226 12.8.4 交錯數組中的子數組 227 12.9 比較矩形數組和交錯數組 228 12.10 foreach語句 229 12.10.1 迭代變量是只讀的 230 12.10.2 foreach語句和多維數組 231 12.11 數組協變 232 12.12 數組繼承的有用成員 233 12.13 比較數組類型 236
第13章 委托 237 13.1 什么是委托 237 13.2 委托概述 239 13.3 聲明委托類型 240 13.4 創建委托對象 241 13.5 給委托賦值 242 13.6 組合委托 243 13.7 為委托添加方法 243 13.8 從委托移除方法 244 13.9 調用委托 244 13.10 委托的示例 245 13.11 調用帶返回值的委托 246 13.12 調用帶引用參數的委托 247 13.13 匿名方法 248 13.13.1 使用匿名方法 249 13.13.2 匿名方法的語法 249 13.13.3 變量和參數的作用域 250 13.14 Lambda表達式 252
第14章 事件 255 14.1 發布者和訂閱者 255 14.2 源代碼組件概覽 257 14.3 聲明事件 257 14.4 訂閱事件 258 14.5 觸發事件 259 14.6 標準事件的用法 261 14.6.1 通過擴展EventArgs來傳遞數據 262 14.6.2 移除事件處理程序 264 14.7 事件訪問器 265
第15章 接口 267 15.1 什么是接口 267 15.2 聲明接口 272 15.3 實現接口 273 15.4 接口是引用類型 275 15.5 接口和as運算符 276 15.6 實現多個接口 276 15.7 實現具有重復成員的接口 277 15.8 多個接口的引用 279 15.9 派生成員作為實現 280 15.10 顯式接口成員實現 281 15.11 接口可以繼承接口 283 15.12 不同類實現一個接口的示例 284
第16章 轉換 286 16.1 什么是轉換 286 16.2 隱式轉換 287 16.3 顯式轉換和強制轉換 288 16.4 轉換的類型 289 16.5 數字的轉換 290 16.5.1 隱式數字轉換 290 16.5.2 溢出檢測上下文 291 16.5.3 顯式數字轉換 292 16.6 引用轉換 295 16.6.1 隱式引用轉換 296 16.6.2 顯式引用轉換 297 16.6.3 有效顯式引用轉換 298 16.7 裝箱轉換 299 16.7.1 裝箱是創建副本 300 16.7.2 裝箱轉換 300 16.8 拆箱轉換 301 16.9 用戶自定義轉換 302 16.9.1 用戶自定義轉換的約束 302 16.9.2 用戶自定義轉換的示例 302 16.9.3 評估用戶自定義轉換 304 16.9.4 多步用戶自定義轉換的示例 304 16.10 is運算符 305 16.11 as運算符 306
第17章 泛型 308 17.1 什么是泛型 308 17.2 C#中的泛型 310 17.3 泛型類 311 17.4 聲明泛型類 312 17.5 創建構造類型 312 17.6 創建變量和實例 313 17.6.1 使用泛型的棧的示例 315 17.6.2 比較泛型和非泛型棧 316 17.7 類型參數的約束 317 17.7.1 Where子句 317 17.7.2 約束類型和次序 318 17.8 泛型方法 319 17.8.1 聲明泛型方法 319 17.8.2 調用泛型方法 320 17.8.3 泛型方法的示例 321 17.9 擴展方法和泛型類 322 17.10 泛型結構 323 17.11 泛型委托 323 17.12 泛型接口 325 17.12.1 使用泛型接口的示例 326 17.12.2 泛型接口的實現必須唯一 327 17.13 協變 328 17.14 逆變 330 17.14.1 接口的協變和逆變 332 17.14.2 有關可變性的更多內容 333
第18章 枚舉器和迭代器 335 18.1 枚舉器和可枚舉類型 335 18.2 IEnumerator接口 337 18.3 泛型枚舉接口 341 18.4 迭代器 343 18.4.1 迭代器塊 343 18.4.2 使用迭代器來創建枚舉器 344 18.4.3 使用迭代器來創建可枚舉類型 346 18.5 常見迭代器模式 347 18.6 產生多個可枚舉類型 348 18.7 將迭代器作為屬性 349 18.8 迭代器實質 350
第19章 LINQ 352 19.1 什么是LINQ 352 19.2 LINQ提供程序 353 19.3 方法語法和查詢語法 355 19.4 查詢變量 356 19.5 查詢表達式的結構 357 19.5.1 from子句 358 19.5.2 join子句 359 19.5.3 什么是聯結 360 19.5.4 查詢主體中的from...let...where片段 362 19.5.5 orderby子句 365 19.5.6 select...group子句 366 19.5.7 查詢中的匿名類型 367 19.5.8 group子句 368 19.5.9 查詢延續:into子句 369 19.6 標準查詢運算符 370 19.6.1 標準查詢運算符的簽名 373 19.6.2 查詢表達式和標準查詢運算符 374 19.6.3 將委托作為參數 375 19.6.4 LINQ預定義的委托類型 376 19.6.5 使用委托參數的示例 377 19.6.6 使用Lambda表達式參數的示例 378 19.7 LINQ to XML 379 19.7.1 標記語言 379 19.7.2 XML基礎 379 19.7.3 XML類 381 19.7.4 使用XML特性 387 19.7.5 節點的其他類型 389 19.7.6 使用LINQ to XML的LINQ查詢 390
第20章 異步編程 393 20.1 什么是異步 393 20.2 async/await特性的結構 398 20.3 什么是異步方法 399 20.3.1 異步方法的控制流 402 20.3.2 await表達式 404 20.3.3 取消一個異步操作 407 20.3.4 異常處理和await表達式 409 20.3.5 在調用方法中同步地等待任務 410 20.3.6 在異步方法中異步地等待任務 413 20.3.7 Task.Delay方法 415 20.4 在GUI程序中執行異步操作 416 20.5 使用異步Lambda表達式 420 20.6 完整的GUI程序 421 20.7 BackgroundWorker類 423 20.8 并行循環 428 20.9 其他異步編程模式 430 20.10 BeginInvoke和EndInvoke 431 20.10.1 等待—直到結束模式 432 20.10.2 AsyncResult類 433 20.10.3 輪詢模式 434 20.10.4 回調模式 435 20.11 計時器 438
第21章 命名空間和程序集 440 21.1 引用其他程序集 440 21.2 命名空間 444 21.2.1 命名空間名稱 447 21.2.2 命名空間的補充 447 21.2.3 命名空間跨文件伸展 448 21.2.4 嵌套命名空間 449 21.3 using指令 450 21.3.1 using命名空間指令 450 21.3.2 using別名指令 451 21.4 程序集的結構 451 21.5 程序集標識符 453 21.6 強命名程序集 453 21.7 程序集的私有方式部署 455 21.8 共享程序集和GAC 455 21.8.1 把程序集安裝到GAC 455 21.8.2 GAC內的并肩執行 456 21.9 配置文件 457 21.10 延遲簽名 457
第22章 異常 459 22.1 什么是異常 459 22.2 try語句 460 22.3 異常類 461 22.4 catch子句 462 22.5 使用特定catch子句的示例 462 22.6 catch子句段 463 22.7 finally塊 464 22.8 為異常尋找處理程序 465 22.9 更進一步搜索 466 22.9.1 一般法則 466 22.9.2 搜索調用棧的示例 467 22.10 拋出異常 469 22.11 不帶異常對象的拋出 470
第23章 預處理指令 472 23.1 什么是預處理指令 472 23.2 基本規則 472 23.3 #define和#undef指令 473 23.4 條件編譯 474 23.5 條件編譯結構 475 23.6 診斷指令 476 23.7 行號指令 477 23.8 區域指令 478 23.9 #pragma warning指令 479
第24章 反射和特性 480 24.1 元數據和反射 480 24.2 Type類 480 24.3 獲取Type對象 482 24.4 什么是特性 484 24.5 應用特性 485 24.6 預定義的保留的特性 485 24.6.1 Obsolete特性 485 24.6.2 Conditional特性 486 24.6.3 調用者信息特性 488 24.6.4 DebuggerStepThrough特性 488 24.6.5 其他預定義特性 489 24.7 有關應用特性的更多內容 490 24.7.1 多個特性 490 24.7.2 其他類型的目標 490 24.7.3 全局特性 491 24.8 自定義特性 491 24.8.1 聲明自定義特性 492 24.8.2 使用特性的構造函數 492 24.8.3 指定構造函數 492 24.8.4 使用構造函數 493 24.8.5 構造函數中的位置參數和命名參數 493 24.8.6 限制特性的使用 494 24.8.7 自定義特性的最佳實踐 495 24.9 訪問特性 496 24.9.1 使用IsDefined方法 496 24.9.2 使用GetCustomAttributes方法 497
第25章 其他主題 499 25.1 概述 499 25.2 字符串 499 25.3 使用StringBuilder類 501 25.4 把字符串解析為數據值 502 25.5 關于可空類型的更多內容 503 25.5.1 為可空類型賦值 505 25.5.2 使用空接合運算符 505 25.5.3 使用可空用戶自定義類型 506 25.6 Main方法 508 25.7 文檔注釋 509 25.7.1 插入文檔注釋 510 25.7.2 使用其他XML標簽 510 25.8 嵌套類型 511 25.8.1 嵌套類的示例 512 25.8.2 可見性和嵌套類型 513 25.9 析構函數和dispose模式 514 25.9.1 標準dispose模式 515 25.9.2 比較構造函數和析構函數 517 25.10 和COM的互操作 518
索引 521 |
序: |
|