出版時間:2009-5 出版社:清華大學出版社 作者:(美)馬歇爾 著,施平安 等譯,耿肇英 審 頁數(shù):620
Tag標簽:無
前言
時間在流逝,技術也在迅猛發(fā)展。在希冀中,微軟的.NET戰(zhàn)略早已經(jīng)變成現(xiàn)實,帶來全新、快速而敏捷的企業(yè)計算能力,也給軟件開發(fā)商和軟件開發(fā)人員提供了支持未來計算的高效Web服務開發(fā)工具。在希冀中,我們欣喜地看到,微軟的每一個技術創(chuàng)新,都對中國開發(fā)人員產(chǎn)生巨大的推動作用,使得越來越多的人加入微軟開發(fā)陣營。微軟出版社為了配合VisualStudio的推廣和普及,邀請項目開發(fā)組的核心開發(fā)人員和計算機圖書專業(yè)作家精心編寫了微軟ITPro系列圖書。該叢書白面市以來,在美國圖書銷量排行榜上一直高居前列,頗受讀者好評,成為程序開發(fā)人員和網(wǎng)絡開發(fā)人員了解微軟技術的權威工具書。隨著新的開發(fā)平臺的發(fā)布,該系列得以大幅度擴充,在美國及歐洲圖書市場廣受好評。從2002年開始,清華大學出版社為了滿足中國廣大程序開發(fā)人員、網(wǎng)絡開發(fā)人員以及計算機用戶學習最新技術的渴望,在微軟出版社的配合下,先后推出了《微軟.NET程序員系列》和《微軟.NET程序設計系列》。這兩套書陣容龐大,幾乎涵蓋.NET技術及其應用的各個方面;也正因為如此,翻譯和編輯加工的工作量也大得驚人。但為了保持國外優(yōu)秀技術圖書的魅力,同時使讀者領會新技術的真諦,本叢書的翻譯和編輯都是經(jīng)過嚴格篩選的、具有很高的翻譯水平或豐富編輯經(jīng)驗的技術人員。同時,我們還聘請微軟公司相關產(chǎn)品組的技術專家審讀每一本書,確保在技術上準確無誤。
內(nèi)容概要
本書圍繞軟件生命周期的設計、實現(xiàn)、維護和調(diào)試階段展開講述,系統(tǒng)地介紹了Visual C# 2008。全書共分5個部分。第Ⅰ部分介紹該語言的基本概念;第Ⅱ部分介紹創(chuàng)建一個C#應用程序所必需的核心技能,包括Visual C# 2008新引入的LINQ語言;第Ⅲ部分重點介紹額外的語言特征;第Ⅳ部分全面介紹如何調(diào)試托管代碼;第Ⅴ部分介紹內(nèi)存管理和不安全代碼。 本書內(nèi)容豐富,著述清楚,結(jié)構上由淺入深,并提供了大量范例和提示,適合所有專業(yè)的開發(fā)人員和編程愛好者閱讀。
作者簡介
Donis Marshal是一名軟件工程師、顧問和教師,具有近25年的開發(fā)經(jīng)驗,編寫過成千上萬行代碼。Donis開設了30多門課程,并在全球各地培訓開發(fā)人員,主題涉及C#、Microsoft Visual Basic、NET Framework,調(diào)試技術和最佳實踐。他著有多部作品,包括Programming Micarosoft Visual C# 2005:The Language和NET Security Programming。
書籍目錄
第Ⅰ部分 核心語言 第1章 Visual C#編程簡介 1.1 Visual C# 2008編程示例 1.1.1 C#示例程序 1.1.2 LINQ示例程序 1.2 Visual C# 2008程序的公共要素 1.2.1 命名空間 1.2.2 Main入口點 1.2.3 局部變量 1.2.4 可空類型 1.2.5 表達式 1.2.6 選擇語句 1.2.7 迭代語句 1.3 C#核心語言特征 1.3.1 符號和標記 1.3.2 標識符 1.3.3 關鍵字 1.3.4 基元 1.4 類型預覽 第2章 類型 2.1 類 2.1.1 類的成員 2.1.2 成員函數(shù) 2.2 結(jié)構 2.3 枚舉 2.4 等值與標識 2.5 繼承預覽 第3章 繼承 3.1 繼承示例 3.2 System.Object 3.2.1 Object.Equals方法 3.2.2 Object.GetHashCode方法 3.2.3 Object.GetType方法 3.2.4 Object.ToString方法 3.2.5 Object.MemberwiseClone方法 3.2.6 Object.ReferenceEquals方法 3.3 Employee類 3.4 實現(xiàn)繼承 3.5 重寫繼承的行為 3.5.1 virtual和override關鍵字 3.5.2 重載與重寫 3.5.3 重寫事件 3.5.4 擴展方法 3.6 new修飾符 3.7 抽象類 3.8 密封類 3.9 構造函數(shù)和析構函數(shù) 3.10 接口 3.10.1 實現(xiàn)接口 3.10.2 顯式接口成員實現(xiàn) 3.10.3 接口的再實現(xiàn) 3.11 多態(tài)性 3.11.1 接口多態(tài)性 3.11.2 new修飾符和多態(tài)性 3.12 強制類型轉(zhuǎn)換 3.13 屬性繼承 3.14 Visual Studio 2008預覽 第Ⅱ部分 核心技術 第4章 Visual Studio 2008簡介 4.1 遷移到Visual Studio 2008 4.2 集成開發(fā)環(huán)境 4.2.1 起始頁 4.2.2 創(chuàng)建項目 4.2.3 多目標 4.2.4 解決方案資源管理器 4.2.5 項目類型 4.2.6 添加引用 4.2.7 Visual Studio中的窗口管理 4.2.8 自動恢復 4.3 類層次結(jié)構 4.3.1 “類視圖”窗口 4.3.2 對象瀏覽器 4.3.3 類關系圖 4.3.4 “錯誤列表”窗口 4.4 代碼編輯器 4.4.1 IntelliSense 4.4.2 外側(cè)代碼 4.4.3 字體和顏色格式化 4.4.4 源代碼格式設置 4.4.5 修改跟蹤 4.5 代碼段 4.5.1 插入代碼段 4.5.2 默認的代碼段 4.5.3 代碼段管理器 4.5.4 創(chuàng)建代碼段 4.5.5 復制和粘貼 4.6 重構 4.7 生成和部署 4.7.1 MSBuild 4.7.2 ClickOnce部署 4.8 數(shù)組和集合預覽 第5章 數(shù)組和集合 5.1 數(shù)組 5.1.1 數(shù)組元素 5.1.2 多維數(shù)組 5.1.3 交錯數(shù)組 5.1.4 System.Array 5.1.5 System.Array屬性 5.1.6 params關鍵字 5.1.7 數(shù)組轉(zhuǎn)換 5.2 集合 5.2.1 ArrayList集合 5.2.2 BitArray集合 5.2.3 Hashtable集合 5.2.4 Queue集合 5.2.5 SortedList 5.2.6 Stack集合 5.2.7 專用集合 5.3 LINQ預覽 第6章 LINQ簡介 6.1 C#擴展 6.1.1 類型推斷 6.1.2 對象初始值設定項 6.1.3 匿名類型 6.1.4 擴展方法 6.1.5 lambda表達式 6.1.6 表達式目錄樹 6.2 LINQ基礎 6.2.1 核心要素 6.2.2 轉(zhuǎn)換運算符 6.2.3 LINQ查詢表達式語法 6.2.4 LINQ在哪里 6.3 LINQ to Objects 6.4 LINQ運算符 6.4.1 聚合運算符 6.4.2 連接運算符 6.4.3 數(shù)據(jù)類型轉(zhuǎn)換運算符 6.4.4 元素運算符 6.4.5 等于運算符 6.4.6 篩選運算符 6.4.7 生成運算符 6.4.8 分組運算符 6.4.9 聯(lián)接運算符 6.4.10 分區(qū)運算符 6.4.11 量詞運算符 6.4.12 集合運算符 6.4.13 排序運算符 6.5 泛型預覽 第7章 泛型 7.1 泛型類型 7.1.1 類型形參 7.1.2 類型實參 7.1.3 構造類型 7.1.4 重載方法 7.2 泛型方法 泛型類型的this引用 7.3 約束 7.3.1 派生約束 7.3.2 接口約束 7.3.3 值類型約束 7.3.4 引用類型約束 7.3.5 默認的構造函數(shù)約束 7.4 強制類型轉(zhuǎn)換 7.5 繼承 7.5.1 重寫泛型方法 7.5.2 嵌套類型 7.6 靜態(tài)成員 7.6.1 運算符函數(shù) 7.6.2 序列化 7.6.3 泛型本質(zhì) 7.6.4 泛型集合 7.7 枚舉器預覽 第8章 枚舉器 8.1 可枚舉的對象 8.1.1 枚舉器 8.1.2 枚舉器實例 8.1.3 枚舉器實例(版本化集合) 8.1.4 IEnumerator問題 8.2 泛型枚舉器 8.2.1 IEnumerable接口 8.2.2 IEnumerator接口 8.2.3 泛型枚舉器實例 (版本化集合) 8.3 迭代器 8.4 運算符重載預覽 第Ⅲ部分 C#語言詳解 第9章 運算符重載 9.1 數(shù)學運算符和邏輯運算符 9.1.1 實現(xiàn) 9.1.2 自增和自減運算符 9.1.3 左移和右移運算符 9.1.4 true和false運算符 9.1.5 成對運算符 9.2 轉(zhuǎn)換運算符 9.3 實例 9.4 運算符重載的本質(zhì) 9.5 委托和事件預覽 第10章 委托和事件 10.1 委托 10.1.1 定義委托 10.1.2 創(chuàng)建委托 10.1.3 逆變和協(xié)變 10.1.4 激活委托 10.1.5 委托數(shù)組 10.1.6 System.MulticastDelegate類 10.1.7 調(diào)用列表 10.1.8 泛型和委托 10.1.9 異步調(diào)用 10.1.10 異步委托圖 10.1.11 異常 10.2 匿名方法 10.2.1 外部變量 10.2.2 泛型匿名方法 10.2.3 匿名方法的局限性 10.3 事件 10.3.1 發(fā)布事件 10.3.2 訂閱者 10.3.3 引發(fā)事件 10.4 LINQ編程預覽 第11章 LINQ編程 11.1 LINQ to XML 11.1.1 XML架構 11.1.2 驗證 11.1.3 導航 11.1.4 顯式的強制類型轉(zhuǎn)換 11.1.5 XML修改 11.1.6 XML查詢表達式 11.2 LINQ to SQL 11.2.1 實體類 11.2.2 LINQ to SQL查詢表達式 11.2.3 LINQ to DataSet 11.2.4 關聯(lián) 11.2.5 LINQ to SQL更新 11.3 異常處理預覽 第12章 異常處理 12.1 異常示例 12.2 標準異常模型 12.3 結(jié)構化異常處理 12.3.1 try語句 12.3.2 catch語句 12.3.3 異常的傳播 12.3.4 finally語句 12.3.5 異常信息表 12.3.6 嵌套的try塊 12.4 System.Exception 12.4.1 System.Exception函數(shù) 12.4.2 System.Exception屬性 12.4.3 應用程序異常 12.4.4 異常轉(zhuǎn)換 12.4.5 COM互操作性異常 12.5 遠程異常 12.6 未處理的異常 12.6.1 Application.ThreadException 12.6.2 AppDomain.Unhandled-Exception 12.7 在Visual Studio中管理異常 12.7.1 異常助手 12.7.2 “異常”對話框 12.8 元數(shù)據(jù)和反射預覽 第Ⅳ部分 調(diào)試 第13章 元數(shù)據(jù)和反射 13.1 元數(shù)據(jù) 13.1.1 元數(shù)據(jù)標記 13.1.2 元數(shù)據(jù)堆 13.1.3 流 13.1.4 元數(shù)據(jù)驗證 13.1.5 ILDASM 13.2 反射 13.2.1 獲得Type對象 13.2.2 加載程序集 13.2.3 瀏覽類型信息 13.2.4 動態(tài)調(diào)用 13.2.5 類型的創(chuàng)建 13.2.6 晚期綁定委托 13.2.7 函數(shù)調(diào)用性能 13.3 反射和泛型 13.3.1 IsGeneric和IsGenericTypeDefinition 13.3.2 typeof 13.3.3 GetType 13.3.4 GetGenericTypeDefinition 13.3.5 GetGenericArguments 13.3.6 創(chuàng)建泛型類型 13.3.7 反射的安全性 13.3.8 屬性 13.3.9 程序員定義的自定義屬性 13.3.10 屬性和反射 13.4 MSIL預覽 第14章 MSIL編程 14.1 “Hello World”應用程序 14.2 計算堆棧 14.3 MSIL詳解 14.4 復雜任務 14.5 分支 14.6 數(shù)組 14.7 算術指令 14.8 轉(zhuǎn)換運算 14.9 異常處理 14.10 其他操作 14.11 進程執(zhí)行 14.12 用Visual Studio 2008進行調(diào)試預覽 第15章 用Visual Studio 2008進行調(diào)試 15.1 調(diào)試概述 15.1.1 調(diào)試Windows窗體項目 15.1.2 附加到運行進程 15.1.3 調(diào)試控制臺應用程序項目 15.1.4 調(diào)試類庫項目 15.2 調(diào)試配置 15.2.1 Debug和Release配置 15.2.2 配置管理器 15.3 調(diào)試設置 15.3.1 Visual Studio環(huán)境調(diào)試設置 15.3.2 解決方案的調(diào)試設置 15.3.3 項目的調(diào)試設置 15.4 斷點 15.4.1 函數(shù)斷點 15.4.2 “斷點”窗口 15.4.3 跟蹤點 15.5 代碼逐步調(diào)試 15.5.1 逐步調(diào)試命令 15.5.2 “設置下一條語句”實例 15.6 “調(diào)試”工具欄 15.7 數(shù)據(jù)提示 15.8 調(diào)試窗口 15.8.1 “斷點”窗口 15.8.2 “輸出”窗口 15.8.3 “監(jiān)視”窗口和其他變量窗口 15.8.4 自動窗口 15.8.5 “局部變量”窗口 15.8.6 “即時”窗口 15.8.7 “調(diào)用堆?!贝翱? 15.8.8 “線程”窗口 15.8.9 “模塊”窗口 15.8.10 “進程”窗口 15.8.11 “內(nèi)存”窗口 15.8.12 “反匯編”窗口 15.8.13 “寄存器”窗口 15.9 跟蹤 15.9.1 跟蹤實例 15.9.2 配置文件 15.9.3 使用配置文件進行跟蹤的示例 15.10 DebuggerDisplayAttribute 15.11 DebuggerBrowsableAttribute 15.12 DebuggerTypeProxyAttribute 15.13 轉(zhuǎn)儲文件 15.14 高級調(diào)試預覽 第16章 高級調(diào)試 16.1 DebuggableAttribute屬性 16.2 調(diào)試器 16.3 托管調(diào)試器(MDbg) 16.3.1 MDbg實例 16.3.2 MDbg命令 16.4 WinDbg 16.5 Son of Strike(SOS) 16.5.1 SOS實例——第1部分 16.5.2 SOS實例——第2部分 16.6 轉(zhuǎn)儲文件 16.7 內(nèi)存管理 16.7.1 對象圖 16.7.2 代 16.7.3 終結(jié)進程 16.7.4 可靠性和性能監(jiān)視器 16.8 線程 16.9 異常 16.10 符號 16.10.1 Symsrv符號服務器 16.10.2 應用程序符號 16.11 內(nèi)存管理預覽 第Ⅴ部分 高級特性 第17章 內(nèi)存管理 17.1 非托管資源 17.1.1 垃圾回收概述 17.1.2 GC風格 17.2 終結(jié)器 17.3 IDisposable.Dispose 17.3.1 Disposable模式 17.3.2 Disposable模式的考慮因素 17.4 弱引用 17.4.1 弱引用內(nèi)部機理 17.4.2 WeakReference類 17.4.3 可靠的代碼 17.4.4 管理非托管資源 17.5 GC類 17.6 不安全的代碼預覽 第18章 不安全的代碼 18.1 unsafe關鍵字 18.1.1 指針 18.1.2 指針參數(shù)和指針返回值 18.1.3 P/Invoke 18.2 小結(jié) 索引
章節(jié)摘錄
插圖:第Ⅰ部分 核心語言第1章 Visual C#編程簡介Visual Studio 2008在開發(fā)期間稱為Orcas,它是Visual Studio 2005的后繼者。最新版Visual Studi0與Visual C#2008、NET Framework 3.5和ASPNET 3.5一起發(fā)行。Microsoft繼續(xù)推動著Visual Studio從單一的綜合性開發(fā)工具向軟件生命周期解決方案轉(zhuǎn)變。visual Stuio包括的集成開發(fā)環(huán)境(IDE)、組件(測試工具和代碼分析等)和工具,都是軟件設計、開發(fā)、測試、質(zhì)量保證和調(diào)試不可或缺的。Anders Hejlsberg是Microsoft的技術院士(Technical Fellow)兼C#語言的主要設計師,他曾在很多場合談到Visual C#2008。他強調(diào)指出,語言集成查詢(Language Integrated Query,LINQ)及相關的增強功能是Visual C群2008主要的新特色。LrNQ是集成到C#語言中的一個面向?qū)ο蟮慕y(tǒng)一查詢模型。C#的諸如lambda表達式、擴展方法、表達式目錄樹、隱式類型的局部變量和對象及其他新特征,單獨使用時都很有用,而且還擴展了C#語言對LINQ的支持。這些改變以及其他方面的改變,確保了C#是NET的首要開發(fā)語言。由于集成了LINQ語言,Visual C#2008改變了開發(fā)者與數(shù)據(jù)之間的關系。LINQ是一種使用獨立于數(shù)據(jù)源的查詢語言來訪問特定數(shù)據(jù)的解決方案。LINQ也是面向?qū)ο蟮?,而且是可擴展的。LINQ在一定程度上使C≠}更接近于函數(shù)式編程,它使開發(fā)人員的關注焦點從數(shù)據(jù)(狀態(tài))的具體細節(jié)轉(zhuǎn)移到信息(對象)行為,并且它還為數(shù)據(jù)查詢提供了一個統(tǒng)一的模型,不再依賴于某種特定語言或技術的難以預測的變化。通過LINQ,可以使用相同的統(tǒng)一查詢模型訪問SQL(Structured Query Language,結(jié)構化查詢語言)數(shù)據(jù)庫和XML(Extensible Markup Language,可擴展標記語言)文件,甚至還可以用它來訪問數(shù)組。
編輯推薦
《Visual C#2008核心編程》特點為:C#專家經(jīng)典力作全新出擊,全面、深入地剖析C#2008新特性,內(nèi)容全面,實例豐富,操作性強?!禫isual C#2008核心編程》全面深入地闡述了掌握Visual C撐2008的核心語言功能所需的理論知識、最佳實踐和代碼?!禫isual C#2008核心編程》內(nèi)容與最新的Microsoft.NETFramework 3.5兼容,書中詳細論述了LINQ,并闡述了Visual C#語言的復雜特征及其應用?!禫isual C#2008核心編程》圍繞軟件生命周期詳細剖析TC#語言,是掌握Visual C#2008的必備指南。《Visual C#2008核心編程》要重主題:比較使用類、類型和數(shù)組的語法與方法通過泛型和枚舉器來增強代碼效率和編碼技巧了解何時和如何實現(xiàn)異常處理使用LINQ提供程序直接從C撐操縱和訪問數(shù)據(jù)了解MSIL代碼——改善編寫托管代碼的方法使用Microsoft Visual Studio IDE進行調(diào)試——或者使用高級調(diào)試器擴展在晚期綁定、程序集檢查和自生成代碼中使用元數(shù)據(jù)和反射掌握垃圾回收、內(nèi)存管理和不安全代碼的基本原理并運用最佳實踐方法
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載