 |
-- 會員 / 註冊 --
|
|
|
|
C#與.NET 3.5高級程式設計(第4版) ( 簡體 字) |
作者:Andrew Troelsen | 類別:1. -> 程式設計 -> .NET -> C# |
譯者: |
出版社:人民郵電出版社 | 3dWoo書號: 18838 詢問書籍請說出此書號!【缺書】 【不接受訂購】 |
出版日:2/1/2009 |
頁數:1132 |
光碟數:0 |
|
站長推薦:  |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
【不接受訂購】 | ISBN:9787115196910 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介:本書是C#領域久負盛名的經典著作,深入全面地敘述了C#編程語言和.NET平臺核心,并以大量示例剖析相關概念。書中介紹了C#的各種語言構造、.NET 2.0的類、核心API、公共中間語言(CIL)、動態程序集和ASP.NET擴展等內容;同時也介紹了.NET 3.0和.NET 3.5中新的編程API,包括WPF 、WCF和WF 的功能;另外,還介紹了最新的C# 3.0編程語言、LINQ編程技術、COM與.NET 的互操作性以及平臺無關的.NET開發。 本書由微軟C# MVP Andrew Troelsen編寫,歷經多次修訂,適合各層次.NET開發人員閱讀。
|
目錄:第一部分 C#和.NET平臺簡介
第1章 NET之道 2 1.1 NET之前的世界 2 1.2 NET解決方案 4 1.3 NET平臺構造塊(CLR、CTS和CLS)簡介 5 1.4 其他支持.NET的編程語言 7 1.5 NET程序集概覽 8 1.6 CTS 13 1.7 CLS 16 1.8 CLR 17 1.9 程序集/命名空間/類型的區別 19 1.10 使用ildasm.exe探索程序集 23 1.11 使用Lutz Roeder的Reflector來查看程序集 24 1.12 部署.NET運行庫 25 1.13 NET的平臺無關性 25 1.14 小結 26
第2章 構建C#應用程序 27 2.1 NET Framework 3.5 SDK的作用 27 2.2 用csc.exe構建C#應用程序 28 2.3 使用TextPad構建.NET應用程序 32 2.4 使用Notepad++構建.NET應用程序 35 2.5 使用SharpDevelop構建.NET應用程序 37 2.6 使用Visual C# 2008 Express構建.NET應用程序 38 2.7 使用Visual Studio 2008構建.NET應用程序 40 2.8 其他.NET開發工具 49 2.9 小結 50
第二部分 C#核心編程結構
第3章 C#核心編程結構Ⅰ 52 3.1 一個簡單的C#程序 52 3.2 有趣的題外話:System.Environment類的其他成員 57 3.3 System.Console類 58 3.4 系統數據類型和C#簡化符號 61 3.5 System.String數據類型 67 3.6 窄化和寬化數據類型轉換 73 3.7 C#迭代結構 78 3.8 條件結構和關系/相等運算符 79 3.9 小結 81
第4章 C#核心編程結構Ⅱ 82 4.1 方法和參數修飾符 82 4.2 成員重載 86 4.3 C#中的數組操作 88 4.4 枚舉類型 93 4.5 結構類型 97 4.6 值類型和引用類型 99 4.7 值類型和引用類型:最后的細節 105 4.8 C#可空類型 106 4.9 小結 108
第5章 定義封裝的類類型 109 5.1 C#類類型 109 5.2 類構造函數 111 5.3 this關鍵字的作用 114 5.4 static關鍵字 118 5.5 定義OOP的支柱 124 5.6 C#訪問修飾符 127 5.7 第一個支柱:C#的封裝支持 129 5.8 常量數據 136 5.9 只讀字段 137 5.10 C#的分部類型 138 5.11 通過XML生成C#源代碼的文檔 139 5.12 查看勞動成果 143 5.13 小結 144
第6章 繼承和多態 145 6.1 繼承的基本機制 145 6.2 回顧Visual Studio類關系圖 148 6.3 第二個支柱:繼承 149 6.4 包含/委托編程 154 6.5 第三個支柱:C#的多態支持 156 6.6 基類/派生類的轉換規則 166 6.7 超級父類:System.Object 168 6.8 小結 173
第7章 結構化異常處理 174 7.1 錯誤、bug與異常 174 7.2 NET異常處理的作用 174 7.3 最簡單的例子 176 7.4 配置異常的狀態 180 7.5 系統級異常(System.SystemException) 183 7.6 應用程序級異常(System.ApplicationException) 184 7.7 處理多個異常 188 7.8 finally塊 191 7.9 誰在引發什么異常 192 7.10 未處理異常的后果 193 7.11 使用Visual Studio調試未處理的異常 193 7.12 小結 194
第8章 對象的生命周期 195 8.1 類、對象和引用 195 8.2 對象生命周期的基礎 196 8.3 應用程序根的作用 198 8.4 對象的代 199 8.5 System.GC類型 200 8.6 構建可終結對象 203 8.7 構建可處置對象 205 8.8 構建可終結類型和可處置類型 208 8.9 小結 210
第三部分 C#高級編程結構
第9章 接口 212 9.1 接口類型 212 9.2 定義自定義接口 215 9.3 實現接口 216 9.4 在對象級別調用接口成員 218 9.5 接口作為參數 220 9.6 接口作為返回值 221 9.7 接口類型數組 222 9.8 使用Visual Studio 2008實現接口 222 9.9 通過顯式接口實現解決命名沖突 223 9.10 定義接口層次結構 226 9.11 構建可枚舉類型(IEnumerable和IEnumerator) 228 9.12 構建可克隆的對象(ICloneable) 233 9.13 構建可比較的對象(IComparable) 237 9.14 回調接口 241 9.15 小結 244
第10章 集合與泛型 245 10.1 System.Collections命名空間的接口 245 10.2 System.Collections命名空間的類類型 247 10.3 System.Collections.Specialized命名空間 251 10.4 裝箱、拆箱以及和System.Object的關系 251 10.5 類型安全和強類型集合問題 254 10.6 System.Collections.Generic命名空間 257 10.7 創建自定義泛型方法 260 10.8 創建泛型結構和類 262 10.9 創建自定義泛型集合 264 10.10 創建泛型基類 268 10.11 創建泛型接口 269 10.12 小結 270
第11章 委托、事件和Lambda 271 11.1 NET委托類型 271 11.2 使用C#定義委托 272 11.3 System.MulticastDelegate與System.Delegate基類 273 11.4 最簡單的委托示例 274 11.5 使用委托改造Car類型 277 11.6 更復雜的委托示例 281 11.7 委托協變 285 11.8 創建泛型委托 286 11.9 C#事件 288 11.10 泛型EventHandlerT委托 294 11.11 C#匿名方法 294 11.12 方法組轉換 297 11.13 C# 3.0 Lambda運算符 298 11.14 小結 304
第12章 索引器、運算符和指針 305 12.1 索引器方法 305 12.2 運算符重載 309 12.3 自定義類型轉換 317 12.4 指針類型 322 12.5 C#預處理指令 328 12.6 小結 330
第13章 C# 3.0的語言功能 331 13.1 隱式類型局部變量 331 13.2 自動屬性 335 13.3 擴展方法 338 13.4 分部方法 346 13.5 對象初始化器 348 13.6 匿名類型 352 13.7 小結 356
第14章 LINQ 357 14.1 LINQ的作用 357 14.2 LINQ查詢表達式初覽 359 14.3 LINQ和泛型集合 364 14.4 LINQ和非泛型集合 365 14.5 查詢運算符的內部表示 366 14.6 LINQ查詢運算符 369 14.7 LINQ查詢 374 14.8 小結 376
第四部分 使用.NET程序集編程
第15章 .NET程序集入門 378 15.1 定義自定義命名空間 378 15.2 .NET程序集的作用 383 15.3 .NET程序集的格式 384 15.4 構建和使用單文件程序集 387 15.5 構建和使用多文件程序集 395 15.6 私有程序集 397 15.7 共享程序集 402 15.8 使用共享程序集 406 15.9 配置共享程序集 407 15.10 GAC的內部結構 411 15.11 發行者策略程序集 413 15.12 codeBase元素 414 15.13 System.Configuration命名空間 415 15.14 機器配置文件 416 15.15 小結 416
第16章 類型反射、晚期綁定和基于特性的編程 417 16.1 類型元數據的必要性 417 16.2 反射 420 16.3 構建自定義的元數據查看器 423 16.4 動態加載程序集 427 16.5 反射共享程序集 428 16.6 晚期綁定 430 16.7 特性編程 432 16.8 構建自定義特性 435 16.9 程序集級別(和模塊級別)特性 438 16.10 使用早期綁定反射特性 439 16.11 使用晚期綁定反射特性 439 16.12 反射、晚期綁定和自定義特性的使用背景 440 16.13 構建可擴展的應用程序 441 16.14 小結 445
第17章 進程、應用程序域和對象上下文 446 17.1 回顧傳統的Win32進程 446 17.2 NET平臺下與進程進行交互 448 17.3 NET應用程序域 453 17.4 對象上下文邊界 458 17.5 進程、應用程序域和上下文小結 461 17.6 小結 461
第18章 構建多線程應用程序 463 18.1 進程、應用程序域、上下文及線程之間的關系 463 18.2 NET委托的簡短回顧 465 18.3 委托的異步性 466 18.4 異步調用方法 467 18.5 System.Threading命名空間 471 18.6 System.Threading.Thread類 472 18.7 以編程方式創建次線程 474 18.8 并發問題 478 18.9 使用Timer Callback編程 483 18.10 CLR線程池 484 18.11 BackgroundWorker組件的作用 486 18.12 小結 488
第19章 CIL和動態程序集的作用 490 19.1 CIL編程的本質 490 19.2 CIL指令、特性和操作碼 491 19.3 入棧和出棧:CIL基于棧的本質 492 19.4 正反向工程 493 19.5 CIL指令和特性 499 19.6 NET基類庫、C#和CIL數據類型的映射 504 19.7 在CIL中定義成員 505 19.8 剖析CIL操作碼 507 19.9 使用CIL構建.NET程序集 511 19.10 動態程序集 515 19.11 小結 522
第五部分 .NET基類庫簡介
第20章 文件輸入輸出和隔離存儲 524 20.1 研究System.IO命名空間 524 20.2 Directory(Info)和File(Info)類型 525 20.3 使用DirectoryInfo類型 526 20.4 使用Directory類型 528 20.5 使用DriveInfo類類型 529 20.6 使用FileInfo類 530 20.7 使用File類型 533 20.8 Stream抽象類 535 20.9 使用StreamWriter和StreamReader類型 537 20.10 使用StringWriter和StringReader 540 20.11 使用BinaryWriter和BinaryReader 541 20.12 以編程方式“觀察”文件 542 20.13 實現異步文件I/O操作 544 20.14 隔離存儲的作用 545 20.15 代碼訪問安全入門 546 20.16 隔離存儲概覽 552 20.17 使用IsolatedStorageFile獲取存儲 556 20.18 實戰隔離存儲:ClickOnce部署 559 20.19 小結 562
第21章 對象序列化 564 21.1 對象序列化 564 21.2 為序列化配置對象 566 21.3 選擇序列化格式化程序 567 21.4 使用BinaryFormatter序列化對象 569 21.5 使用SoapFormatter序列化對象 571 21.6 使用XmlSerializer序列化對象 572 21.7 序列化對象集合 574 21.8 自定義序列化過程 575 21.9 小結 579
第22章 ADO.NET之一:連接層 580 22.1 ADO.NET高層次定義 580 22.2 ADO.NET的數據提供程序 581 22.3 其他的ADO.NET命名空間 584 22.4 System.Data命名空間的類型 584 22.5 使用接口抽象數據提供程序 588 22.6 創建AutoLot數據庫 590 22.7 ADO.NET 數據提供程序工廠模型 594 22.8 ADO.NET的連接式訪問 598 22.9 使用數據讀取器 603 22.10 構建可重用的數據訪問庫 604 22.11 創建控制臺UI前端 610 22.12 使用SqlCommand進行異步數據訪問 614 22.13 數據庫事務 616 22.14 小結 619
第23章 ADO.NET之二:斷開連接層 620 23.1 ADO.NET斷開連接層 620 23.2 DataSet的作用 621 23.3 使用DataColumn 623 23.4 使用DataRow 625 23.5 使用DataTable 627 23.6 將DataTable對象綁定到用戶界面 631 23.7 使用數據適配器填充DataSet/ DataTable 639 23.8 重訪AutoLotDAL.dll 641 23.9 切換多表DataSet對象 644 23.10 Visual Studio 2008的數據訪問工具 649 23.11 從UI層解耦自動生成的代碼 656 23.12 小結 659
第24章 LINQ API編程 660 24.1 LINQ to ADO.NET的作用 660 24.2 使用LINQ to DataSet編程 660 24.3 使用LINQ to SQL編程 665 24.4 使用sqlmetal.exe生成實體類 669 24.5 使用Visual Studio 2008建立實體類 674 24.6 使用LINQ to XML操作XML文檔 676 24.7 在內存文檔中導航 680 24.8 小結 682
第25章 WCF 683 25.1 各種分布式計算API 683 25.2 WCF的作用 688 25.3 WCF核心程序集 690 25.4 Visual Studio WCF項目模板 691 25.5 WCF應用程序的基本構成 692 25.6 WCF的ABC 693 25.7 構建WCF服務 697 25.8 承載WCF服務 700 25.9 構建WCF客戶端應用程序 706 25.10 使用WCF服務庫項目模板 710 25.11 以Windows服務承載WCF服務 712 25.12 異步調用服務 716 25.13 定義WCF數據契約 717 25.14 小結 722
第26章 WF 723 26.1 定義業務流程 723 26.2 WF的構建塊 724 26.3 WF程序集、命名空間和項目 728 26.4 構建一個啟用工作流的簡單應用 730 26.5 WF引擎承載代碼 734 26.6 在工作流中調用Web服務 736 26.7 構建可重用的WF代碼庫 746 26.8 關于自定義活動的簡要說明 750 26.9 小結 751
第六部分 桌面用戶界面
第27章 Windows Forms編程 754 27.1 Windows Forms 命名空間 754 27.2 創建一個簡單的Windows Forms 程序(不用IDE) 755 27.3 Visual Studio Windows Forms項目模板 759 27.4 剖析Form 764 27.5 響應鼠標活動 769 27.6 響應鍵盤活動 771 27.7 設計對話框 772 27.8 通過GDI+呈現圖形數據 778 27.9 創建一個完整的Windows Forms應用程序 782 27.10 小結 788
第28章 WPF和XAML 789 28.1 WPF背后的動機 789 28.2 各種形式的WPF應用程序 791 28.3 WPF程序集 793 28.4 創建(不使用XAML的)WPF應用程序 798 28.5 Application類型的其他細節 802 28.6 Window類型的其他細節 804 28.7 構建(XAML相關的)WPF應用程序 807 28.8 將標記轉換為.NET程序集 810 28.9 使用代碼隱藏文件實現的關注點的分離 814 28.10 XAML語法 815 28.11 使用Visual Studio 2008構建WPF應用程序 826 28.12 在運行時處理XAML:SimpleXaml- Pad.exe 830 28.13 微軟Expression Blend的作用 833 28.14 小結 834
第29章 使用WPF控件編程 835 29.1 WPF控件庫概述 835 29.2 使用XAML聲明控件 836 29.3 依賴屬性的作用 839 29.4 路由事件 842 29.5 使用Button類型 845 29.6 使用CheckBoxe和RadioButton 848 29.7 使用ListBox和ComboBox類型 850 29.8 使用文本區 854 29.9 使用面板進行內容布局 857 29.10 使用嵌套面板創建窗口框架 864 29.11 WPF控件命令 868 29.12 WPF數據綁定模型 870 29.13 使用IValueConverter進行數據轉換 872 29.14 綁定到自定義對象 875 29.15 將UI元素綁定到XML文檔 878 29.16 小結 881
第30章 WPF 2D圖形呈現、資源和主題 882 30.1 WPF圖形呈現服務 882 30.2 探究Shape派生類 887 30.3 使用WPF畫刷 889 30.4 使用WPF畫筆 891 30.5 探究Drawing派生類 892 30.6 UI變換的功能 895 30.7 WPF動畫服務 897 30.8 WPF的資源體系 903 30.9 為WPF控件定義應用樣式 905 30.10 使用模板改變控件的UI 913 30.11 小結 916
第七部分 使用ASP.NET構建Web應用程序
第31章 構建ASP.NET網頁 918 31.1 HTTP的作用 918 31.2 Web應用程序和Web服務 919 31.3 HTML的作用 921 31.4 客戶端腳本的作用 925 31.5 提交表單數據(GET和POST) 927 31.6 構建傳統的ASP頁面 927 31.7 傳統ASP相關問題 929 31.8 ASP.NET命名空間 930 31.9 ASP.NET網頁代碼模型 931 31.10 ASP.NET站點目錄結構細節 939 31.11 ASP.NET頁面編譯周期 940 31.12 頁面類型的繼承鏈 942 31.13 與傳入的HTTP請求交互 943 31.14 與輸出HTTP響應交互 946 31.15 ASP.NET網頁的生命周期 947 31.16 Web.config文件的作用 950 31.17 小結 952
第32章 ASP.NET Web控件、主題和母版頁 953 32.1 Web控件的本質 953 32.2 System.Web.UI.Control類型 955 32.3 System.Web.UI.WebControls.WebControl類型 957 32.4 ASP.NET Web控件的類別 958 32.5 構建功能豐富的ASP.NET站點 959 32.6 驗證控件的作用 970 32.7 使用主題 975 32.8 使用HTML表格布局控件 979 32.9 小結 981
第33章 ASP.NET狀態管理技術 982 33.1 狀態問題 982 33.2 ASP.NET狀態管理技術 984 33.3 ASP.NET視圖狀態的作用 984 33.4 Global.asax文件的作用 987 33.5 應用程序狀態與會話狀態差別 989 33.6 使用應用程序緩存 993 33.7 維護會話數據 996 33.8 cookie 999 33.9 sessionState元素的作用 1001 33.10 ASP.NET用戶配置API 1003 33.11 小結 1008
第八部分 附錄
附錄A COM與.NET的互操作性 1010 A.1 NET互操作的研究范圍 1010 A.2 NET調用COM互操作的簡單示例 1011 A.3 NET互操作程序集 1013 A.4 運行庫可調用包裝 1014 A.5 COM IDL的作用 1016 A.6 使用類型庫創建互操作程序集 1020 A.7 創建一個更復雜的COM服務 1021 A.8 互操作程序集 1023 A.9 在COM中使用.NET 1027 A.10 CCW的作用 1028 A.11 NET類接口的作用 1029 A.12 構建.NET類型 1029 A.13 生成類型庫并注冊.NET類型 1030 A.14 導出類型信息 1031 A.15 創建一個Visual Basic 6.0的測試客戶端 1032 A.16 小結 1033
附錄B 使用Mono進行平臺無關的.NET開發 1034 B.1 NET的平臺無關性 1034 B.2 獲取和安裝Mono 1036 B.3 Mono開發工具 1038 B.4 使用Mono創建.NET應用程序 1040 B.5 推薦學習 1046 B.6 小結 1046
索引 1047
|
序: |
|