《C 高級編程》

《C 高級編程》

本書首先探討了C#的基礎知識,包括基本語法、數據類型和面向對象的特性。接著闡述了如何把該語言套用於各種使用相關技術的應用程式,例如資料庫訪問和高級繪圖技術。這種方式有助於對c#語言的各個方面進行深入細緻的理解,以專業人員的方式開始編程。

基本信息

基本信息

出版社:清華大學出版社
市場價:158.00
頁碼:1191頁碼
C 高級編程C 高級編程

·出版日:2006年
·ISBN:7302138036
·條碼:9787302138037
·版次:2006年10月第1版
·裝幀:平裝
·開本:16開

內容簡介

C#和.NET全面革新了編寫程式的方式。本書以最新的.NETFramework2.0和VisualStudio2005為基礎,全面介紹了C#編程的工具,提供了理解.NET體系結構的工作原理所必需的背景知識。
本書首先探討了C#的基礎知識,包括基本語法、數據類型和面向對象的特性。接著闡述了如何把該語言套用於各種使用相關技術的應用程式,例如資料庫訪問和高級繪圖技術。這種方式有助於對c#語言的各個方面進行深入細緻的理解,以專業人員的方式開始編程
C#經典名著!也是Wrox紅皮書中最暢銷的品種之一,從第一版開始就名滿天下:其第3版被中華讀書報、CSDN、《程式設計師》等機構評選為2005年最權威的十大IT圖書之一(第2名);在中國版協、中國出版科學研究所、(出版參考、雜誌組織的“2005年度輸出版、引進版優秀圖書”評選活動中獲得“2005年度引進版科技類優秀圖書”獎。第4版面向C#2005,在全面展示.NET新特性的同時繼續完善原有的內容,是有一些C#基礎知識的學習者或者想遷移到C#的其他程式設計師全面掌握C#的首選教程。
C#和.NET全面革新了編寫程式的方式。本書以最新的.NETFramework2.0和VisualStudio2005為基礎,全面介紹了C#編程的工具,提供了理解.NET體系結構的工作原理所必需的背景知識。
本書首先探討了C#的基礎知識,包括基本語法、數據類型和面向對象的特性。接著闡述了如何把該語言套用於各種使用相關技術的應用程式,例如資料庫訪問和高級繪圖技術。這種方式有助於對c#語言的各個方面進行深入細緻的理解,以專業人員的方式開始編程。
本書涵蓋的內容有助於編寫動態Web頁面、XMLWeb服務、分散式應用程式的組件,以及windows桌面應用程式等。本書適用於已具有C++、VisualBasic或J++等編程經驗的開發人員。以及了解.NET1.0,但準備遷移到.NET2.0和VisualStudio2005的程式設計師。

作者簡介

 譯者:李敏波,01年獲清華大學工學博士學位,隨後在新加坡國立大學從事協同產品設計與門戶的博士後研究。02年至04年在金蝶軟體(中國)公司中央研究院擔任高級研究員。現任復旦大學軟體學院零售與分銷管理系統研究中心的副主任,從事教學與科研工作。

媒體推薦

C#和.NET全面革新了編寫程式的方式。本書以最新的.NETFrame-work2.0和VisualStudio2005為基礎,全面介紹了C#編程的工具,提供了理解.NET體系結構的工作原理所必需的背景知識。
本書首先探討了C#的基礎知識,包括基本語法、數據類型和面向對象的特性。接著闡述了如何把該語言套用於各種使用相關技術的應用程式,倒如資料庫訪問和高級繪圖技術。這種方式有助於對C#語言的各個方面進行深入細緻的理解,以專業人員的方式開始編程。
本書涵蓋的內容有助於編寫動態Web頁面、XMLWeb服務、分散式應用程式的組件,以及Windows桌面應用程式等。
本書主要內容:NET環境中的編程原則,創建Windows應用程式和Windows服務的方式,使用已有的COM組件和NET應用程式,用ASP.NET編寫動態的Web頁面和Web服務。用C#2005處理XML的技術。用ADO.NET訪問資料庫,與目錄互動操作,編寫在Web站點上運行的刪節組件。
本書讀者對象:本書適用於已具有C++、VisualBasic或J++等編程經驗的開人發員。本書還適合於了解NET1.0,但準備遷移到NET2.0和VisualStudio2005的程式設計師。
本書技術支持:在www.wrox.com和Wrox暢銷書!C#經典名著!2005年最權威的十大IT圖書!2005年度引進版科技類優秀圖書!之C#2005最新版。

編輯推薦

C#和.NET全面革新了編寫程式的方式。本書以最新的.NETFramework2.0和VisualStudio2005為基礎,全面介紹了C#編程的工具,提供了理解.NET體系結構的工作原理所必需的背景知識。
本書首先探討了C#的基礎知識,包括基本語法、數據類型和面向對象的特性。接著闡述了如何把該語言套用於各種使用相關技術的應用程式,例如資料庫訪問和高級繪圖技術。這種方式有助於對c#語言的各個方面進行深入細緻的理解,以專業人員的方式開始編程。
本書涵蓋的內容有助於編寫動態Web頁面、XMLWeb服務、分散式應用程式的組件,以及windows桌面應用程式等。本書適用於已具有C++、VisualBasic或J++等編程經驗的開發人員。以及了解.NET1.0,但準備遷移到.NET2.0和VisualStudio2005的程式設計師。

評論

該書對於c#語言、.NETframework的學習很有幫助,但是是從外文翻譯過來的,對於有些內容不容易理解。

目錄

第Ⅰ部分C#語言
第1章.NET體系結構
1.1C#與.NET的關係
1.2公共語言運行庫
1.2.1平台無關性
1.2.2提高性能
1.2.3語言的互操作性
1.3中間語
1.3.1面向對象和接口的支持
1.3.2相異值類型和引用類型
1.3.3強數據類型
1.3.4通過異常處理錯誤
1.3.5特性的使用
1.4程式集
1.4.1私有程式集
1.4.2共享程式集
1.4.3反射
1.5.NETFramework類
1.6命名空間
1.7用C#創建.NET應用程式
1.7.1創建ASP.NET應用程式
1.7.2創建Windows窗體
1.7.3使用WindowsPresentationFoundation(WPF)
1.7.4Windows控制項
1.7.5Windows服務
1.7.6WindowsCommunicationFoundation(WCF)
1.8C#在.NET企業體系結構中的作用
1.9小結
第2章C#基礎
2.1引言
2.2第一個C#程式
2.2.1代碼
2.2.2編譯並運行程式
2.2.3詳細介紹
2.3變數
2.3.1變數的初始化
2.3.2類型推斷
2.3.3變數的作用域
2.3.4常量
2.4預定義數據類型
2.4.1值類型和引用類型
2.4.2CTS類型
2.4.3預定義的值類型
2.4.4預定義的引用類型
2.5流控制
2.5.1條件語句
2.5.2循環
2.5.3跳轉語句
2.6枚舉
2.7數組
2.8命名空間
2.8.1using語句
2.8.2命名空間的別名
2.9Main()方法
2.9.1多個Main()方法
2.9.2給Main()方法傳送參數
2.10有關編譯C#檔案的更多內容
2.11控制台I/O
2.12使用注釋
2.12.1源檔案中的內部注釋
2.12.2XML文檔說明
2.13C#預處理器指令
2.13.1#define和#undef
2.13.2#if,#elif,#else和#endif
2.13.3#warning和#error
2.13.4#region和#endregion
2.13.5#line
2.13.6#pragma
2.14C#編程規則
2.14.1用於標識符的規則
2.14.2用法約定
2.15小結
第3章對象和類型
3.1類和結構
3.2類成員
3.2.1數據成員
3.2.2函式成員
3.2.3隻讀欄位
3.3匿名類型
3.4結構
3.4.1結構是值類型
3.4.2結構和繼承
3.4.3結構的構造函式
3.5部分類
3.6靜態類
3.7Object類
3.7.1System.Object方法
3.7.2ToString()方法
3.8擴展方法
3.9小結
第4章繼承
4.1繼承的類型
4.1.1實現繼承和接口繼承
4.1.2多重繼承
4.1.3結構和類
4.2實現繼承
4.2.1虛方法
4.2.2隱藏方法
4.2.3調用函式的基類版本
4.2.4抽象類和抽象函式
4.2.5密封類和密封方法
4.2.6派生類的構造函式
4.3修飾符
4.3.1可見性修飾符
4.3.2其他修飾符
4.4接口
4.4.1定義和實現接口
4.4.2派生的接口
4.5小結
第5章數組
5.1簡單數組
5.1.1數組的聲明
5.1.2數組的初始化
5.1.3訪問數組元素
5.1.4使用引用類型
5.2多維數組
5.3鋸齒數組
5.4Array類
5.4.1屬性
5.4.2創建數組
5.4.3複製數組
5.4.4排序
5.5數組和集合接口
5.5.1IEumerable接口
5.5.2ICollection接口
5.5.3IList接口
5.6枚舉
5.6.1IEnumerator接口
5.6.2foreach語句
5.6.3yield語句
5.7小結
第6章運算符和類型強制轉換
6.1運算符
6.1.1運算符的簡化操作
6.1.2條件運算符
6.1.3checked和unchecked運算符
6.1.4is運算符
6.1.5as運算符
6.1.6sizeof運算符
6.1.7typeof運算符
6.1.8可空類型和運算符
6.1.9空接合運算符
6.1.10運算符的優先權
6.2類型的安全性
6.2.1類型轉換
6.2.2裝箱和拆箱
6.3對象的相等比較
6.3.1引用類型的相等比較
6.3.2值類型的相等比較
6.4運算符重載
6.4.1運算符的工作方式
6.4.2運算符重載的示例:Vector結構
6.5用戶定義的數據類型轉換
6.5.1執行用戶定義的類型轉換
6.5.2多重數據類型轉換
6.6小結
第7章委託和事件
7.1委託
7.1.1在C#中聲明委託
7.1.2在C#中使用委託
7.1.3簡單的委託示例
7.1.4BubbleSorter示例
7.1.5多播委託
7.1.6匿名方法
7.1.7?表達式
7.1.8協變和抗變
7.2事件
7.2.1從接收器的角度討論事件
7.2.2生成事件
7.3小結
第8章字元串和正則表達式
8.1System.String類
8.1.1創建字元串
8.1.2StringBuilder成員
8.1.3格式化字元串
8.2正則表達式
8.2.1正則表達式概述
8.2.2RegularExpressionsPlayaround示例
8.2.3顯示結果
8.2.4匹配、組合和捕獲
8.3小結
第9章泛型
9.1概述
9.1.1性能
9.1.2類型安全
9.1.3二進制代碼的重用
9.1.4代碼的擴展
9.1.5命名約定
9.2創建泛型類
9.3泛型類的特性
9.3.1默認值
9.3.2約束
9.3.3繼承
9.3.4靜態成員
9.4泛型接口
9.5泛型方法
9.6泛型委託
9.6.1執行委託調用的方法
9.6.2對Array類使用泛型委託
9.7Framework的其他泛型類型
9.7.1結構Nullable
9.7.2EventHandler
9.7.3ArraySegment
9.8小結
第10章集合
10.1集合接口和類型
10.2列表
10.2.1創建列表
10.2.2隻讀集合
10.3佇列
10.4棧
10.5鍊表
10.6有序表
10.7字典
10.7.1鍵的類型
10.7.2字典示例
10.7.3Lookup類
10.7.4其他字典類
10.8HashSet
10.9位數組
10.9.1BitArray
10.9.2BitVector32
10.10性能
10.11小結
第11章LanguageIntegratedQuery
11.1LINQ概述
11.1.1使用List的查詢
11.1.2擴展方法
11.1.3λ表達式
11.1.4LINQ查詢
11.1.5推遲查詢的執行
11.2標準的查詢操作符
11.2.1過濾
11.2.2用索引來過濾
11.2.3類型過濾
11.2.4複合的from子句
11.2.5排序
11.2.6分組
11.2.7對嵌套的對象分組
11.2.8連線
11.2.9設定操作
11.2.10分區
11.2.11合計操作符
11.2.12轉換
11.2.13生成操作符
11.3表達式樹
11.4LINQ提供程式
11.5小結
第12章記憶體管理和指針
12.1後台記憶體管理
12.1.1值數據類型
12.1.2引用數據類型
12.1.3垃圾收集
12.2釋放未託管的資源
12.2.1析構函式
12.2.2IDisposable接口
12.2.3實現IDisposable接口和析構函式
12.3不安全的代碼
12.3.1用指針直接訪問記憶體
12.3.2指針示例:PointerPlayaround
12.3.3使用指針最佳化性能
12.4小結
第13章反射
13.1定製特性
13.1.1編寫定製特性
13.1.2定製特性示例:WhatsNewAttributes
13.2反射
13.2.1System.Type類
13.2.2TypeView示例
13.2.3Assembly類
13.2.4完成WhatsNewAttributes示例
13.3小結
第14章錯誤和異常
14.1異常類
14.2捕獲異常
14.2.1執行多個catch塊
14.2.2在其他代碼中捕獲異常
14.2.3System.Exception屬性
14.2.4沒有處理異常時所發生的情況
14.2.5嵌套的try塊
14.3用戶定義的異常類
14.3.1捕獲用戶定義的異常
14.3.2拋出用戶定義的異常
14.3.3定義異常類
14.4小結
第Ⅱ部分VisualStudio
第15章VisualStudio2008
15.1使用VisualStudio2008
15.1.1創建項目
15.1.2解決方案和項目
15.1.3Windows應用程式代碼
15.1.4讀取VisualStudio6項目
15.1.5項目的瀏覽和編碼
15.1.6生成項目
15.1.7調試
15.2修訂功能
15.3多目標
15.4WPF、WCF、WF等
15.4.1在VisualStudio中建立WPF應用程式
15.4.2在VisualStudio中建立WF應用程式
15.5小結
第16章部署
16.1部署的設計
16.2部署選項
16.2.1xcopy實用工具
16.2.2CopyWeb工具
16.2.3發布Web站點
16.2.4部署項目
16.2.5CLICKONCE
16.3部署的要求
16.4部署.NET運行庫
16.5簡單的部署
16.5.1Xcopy部署
16.5.2Xcopy和Web應用程式
16.5.3CopyWeb工具
16.5.4發布Web站點
16.6Installer項目
16.6.1WindowsInstaller
16.6.2創建安裝程式
16.7ClickOnce
16.7.1ClickOnce操作
16.7.2發布應用程式
16.7.3ClickOnce設定
16.7.4應用程式快取
16.7.5安全性
16.7.6高級選項
16.8小結
第Ⅲ部分基類庫
第17章程式集
17.1程式集的含義
17.1.1程式集的特性
17.1.2程式集的結構
17.1.3程式集的清單
17.1.4命名空間、程式集和組件
17.1.5私有程式集和共享程式集
17.1.6輔助程式集
17.1.7查看程式集
17.2構建程式集
17.2.1創建模組和程式集
17.2.2程式集的屬性
17.3動態載入和創建程式集
17.4應用程式域
17.5共享程式集
17.5.1強名
17.5.2使用強名獲得完整性
17.5.3全局程式集快取
17.5.4創建共享程式集
17.5.5創建強名
17.5.6安裝共享程式集
17.5.7使用共享程式集
17.5.8程式集的延遲簽名
17.5.9引用
17.5.10本機圖像生成器
17.6配置.NET應用程式
17.6.1配置類別
17.6.2為搜尋程式集配置目錄
17.7版本問題
17.7.1版本號
17.7.2編程獲取版本
17.7.3應用程式配置檔案
17.7.4發布方的策略檔案
17.7.5運行庫的版本
17.8小結
第18章跟蹤和事件
18.1跟蹤
18.1.1跟蹤源
18.1.2跟蹤開關
18.1.3跟蹤監聽器
18.1.4過濾器
18.1.5斷言
18.2事件日誌
18.2.1事件日誌體系架構
18.2.2事件日誌類
18.2.3創建事件源
18.2.4寫入事件日誌
18.2.5資源檔案
18.3性能監控
18.3.1性能監控類
18.3.2性能計數器的構建
18.3.3添加PerformanceCounter組件
18.3.4perfmon.exe
18.4小結
第19章執行緒和同步
19.1概述
19.2異步委託
19.2.1投票
19.2.2等待句柄
19.2.3異步回調
19.3Thread類
19.3.1給執行緒傳送數據
19.3.2後台執行緒
19.3.3執行緒的優先權
19.3.4控制執行緒
19.4執行緒池
19.5執行緒問題
19.5.1競態條件
19.5.2死鎖
19.6同步
19.6.1lock語句和執行緒安全
19.6.2Interlocked
19.6.3Monitor類
19.6.4等待句柄
19.6.5mutex
19.6.6Semaphore類
19.6.7Events類
19.6.8ReaderWriterLockSlim
19.7Timer類
19.8COM單元
19.9基於事件的異步模式
19.9.1BackgroundWorker
19.9.2激活取消功能
19.9.3激活進度功能
19.9.4創建基於事件的異步組件
19.10小結
第20章安全性
20.1身份驗證和授權
20.1.1標識和Principal
20.1.2角色
20.1.3聲明基於角色的安全性
20.1.4客戶應用程式服務
20.2加密
20.2.1簽名
20.2.2密鑰的互換和安全傳送
20.3資源的訪問控制
20.4代碼訪問的安全性
20.4.1許可權
20.4.2代碼組
20.4.3策略的級別:Machine、User和Enterprise
20.5安全策略的管理
20.5.1代碼組和許可權的管理
20.5.2安全性的啟用和禁用
20.5.3代碼組的創建
20.5.4代碼組的刪除
20.5.5代碼組許可權的更改
20.5.6許可權集的創建和套用
20.5.7使用強名發布代碼
20.5.8使用證書發布代碼
20.6小結
第21章本地化
21.1System.Globalization命名空間
21.1.1Unicode問題
21.1.2文化和區域
21.1.3使用文化
21.1.4排序
21.2資源
21.2.1創建資源檔案
21.2.2資源檔案生成器
21.2.3ResourceWriter
21.2.4使用資源檔案
21.2.5System.Resources命名空間
21.3使用VisualStudio的WindowsForms本地化示例
21.3.1編程修改文化
21.3.2使用定製資源檔案
21.3.3資源的自動回退
21.3.4外包翻譯
21.4用ASP.NET本地化
21.5用WPF本地化
21.5.1WPF應用程式
21.5.2.NET資源
21.5.3用XAML本地化
21.6定製的資源讀取器
21.6.1創建DatabaseResourceReader類
21.6.2創建DatabaseResourceSet類
21.6.3創建DatabaseResource-Manager類
21.6.4DatabaseResourceReader的客戶應用程式
21.7創建定製文化
21.8小結
第22章事務處理
22.1概述
22.1.1事務處理階段
22.1.2ACID屬性
22.2資料庫和實體類
22.3傳統的事務處理
22.3.1ADO.NET事務處理
22.3.2System.EnterpriseServices
22.4System.Transactions
22.4.1可提交的事務處理
22.4.2事務處理的升級
22.4.3依賴的事務處理
22.4.4環境事務處理
22.5隔離級別
22.6定製資源管理器
22.7WindowsVista和WindowsServer2008的事務處理
22.8小結
第23章Windows服務
23.1Windows服務
23.2Windows服務的體系結構
23.2.1服務程式
23.2.2服務控制程式
23.2.3服務配置程式
23.3System.ServiceProcess命名空間
23.4創建Windows服務
23.4.1使用套接字的類庫
23.4.2TcpClient示例
23.4.3Windows服務項目
23.4.4執行緒和服務
23.4.5服務的安裝
23.4.6安裝程式
23.5服務的監視和控制
23.5.1MMC計算機管理
23.5.2net.exe
23.5.3sc.exe
23.5.4VisualStudioServerExplorer
23.5.5ServiceController類
23.6故障排除
23.6.1互動式服務
23.6.2事件日誌
23.7電源事件
23.8小結
第24章互操作性
24.1.NET和COM
24.1.1元數據
24.1.2釋放記憶體
24.1.3接口
24.1.4方法綁定
24.1.5數據類型
24.1.6註冊
24.1.7執行緒
24.1.8錯誤處理
24.1.9事件處理
24.2編組
24.3在.NET客戶程式中使用COM組件
24.3.1創建COM組件
24.3.2創建RuntimeCallableWrapper
24.3.3使用RCW
24.3.4可互動操作的主程式集
24.3.5執行緒問題
24.3.6添加連線點
24.3.7在Windows窗體中使用ActiveX控制項
24.3.8在ASP.NET中使用COM對象
24.4在COM客戶程式中使用.NET組件
24.4.1COMCallableWrapper
24.4.2創建.NET組件
24.4.3創建類型庫
24.4.4COM互操作特性
24.4.5COM註冊
24.4.6創建COM客戶程式
24.4.7添加連線點
24.4.8用sink對象創建客戶程式
24.4.9在InternetExplorer中運行Windows窗體控制項
24.5平台調用
24.6小結
第Ⅳ部分數據
第25章檔案和註冊表操作
25.1管理檔案系統
25.1.1表示檔案和資料夾的.NET類
25.1.2Path類
25.1.3示例:檔案瀏覽器
25.2移動、複製和刪除檔案
25.2.1FilePropertiesAndMovement示例
25.2.2示例FilePropertiesAnd-Movement的代碼
25.3讀寫檔案
25.3.1讀取檔案
25.3.2寫入檔案
25.3.3流
25.3.4快取的流
25.3.5使用filestream類讀寫二進制檔案
25.3.6讀寫文本檔案
25.4讀取驅動器信息
25.5檔案的安全性
25.5.1從檔案中讀取ACL
25.5.2從目錄中讀取ACL
25.5.3添加和刪除檔案中的ACL項
25.6讀寫註冊表
25.6.1註冊表
25.6.2.NET註冊表類
25.6.3SelfPlacingWindow示例
25.7讀寫獨立存儲器
25.8小結
第26章.NET數據訪問
26.1ADO.NET概述
26.1.1命名空間
26.1.2共享類
26.1.3資料庫特定的類
26.2使用資料庫連線
26.2.1管理連線字元串
26.2.2高效地使用連線
26.2.3事務處理
26.3命令
26.3.1執行命令
26.3.2調用存儲過程
26.4快速數據訪問:數據讀取器
26.5管理數據和關係:DataSet類
26.5.1數據表
26.5.2數據列
26.5.3數據關係
26.5.4數據約束
26.6XML模式:用XSD生成代碼
26.7填充數據集
26.7.1用數據適配器來填充DataSet
26.7.2從XML中給數據集填充數據
26.8保存對數據集的修改
26.8.1通過數據適配器進行更新
26.8.2寫入XML輸出結果
26.9使用ADO.NET
26.9.1分層開發
26.9.2生成SQLServer的鍵
26.9.3命名約定
26.10小結
第27章LINQtoSQL
27.1LINQtoSQL和VisualStudio2008
27.1.1使用LINQtoSQL調用Products表——創建控制台應用程式
27.1.2添加LINQtoSQL類
27.1.3O/R設計器概述
27.1.4創建Product對象
27.2對象映射到LINQ對象上
27.2.1DataContext對象
27.2.2Table對象
27.3不使用O/R設計器工作
27.3.1創建自己的定製對象
27.3.2用定製的對象和LINQ進行查詢
27.3.3用查詢限制所調用的列
27.3.4使用列名
27.3.5創建自己的DataContext對象
27.4定製對象和O/R設計器
27.5查詢資料庫
27.5.1使用查詢表達式
27.5.2查詢表達式
27.5.3使用表達式過濾
27.5.4連線
27.5.5組合數據項
27.6存儲過程
27.7小結
第28章處理XML
28.1.NET支持的XML標準
28.2System.Xml命名空間
28.3使用System.Xml類
28.4讀寫流格式的XML
28.4.1使用XmlReader類
28.4.2使用XmlReader類進行驗證
28.4.3使用XMLwriter
28.5在.NET中使用DOM
28.6使用XPathNavigator
28.6.1System.Xml.XPath命名空間
28.6.2System.Xml.Xsl命名空間
28.6.3調試XSLT
28.7XML和ADO.NET
28.7.1將ADO.NET數據轉換為XML文檔
28.7.2把XML文檔轉換為ADO.NET數據
28.8在XML中串列化對象
28.9小結
第29章LINQtoXML
29.1LINQtoXML和.NET3.5
29.1.1創建XML文檔的新對象
29.1.2VisualBasic2008開闢了另一條道路
29.1.3命名空間和前綴
29.2.NETFramework3.5中的新XML對象
29.2.1XDocument對象
29.2.2XElement對象
29.2.3XNamespace對象
29.2.4XComment對象
29.2.5XAttribute對象
29.3使用LINQ查詢XML文檔
29.3.1查詢靜態的XML文檔
29.3.2查詢動態的XML文檔
29.4處理XML文檔
29.4.1讀取XML文檔
29.4.2寫入XML文檔
29.5使用LINQtoSQL和LINQtoXML
29.5.1建立LINQtoSQL組件
29.5.2查詢資料庫,輸出XML
29.6小結
第30章.NET編程和SQLServer
30.1.NET運行庫的主機
30.2Microsoft.SqlServer.Server
30.3用戶定義的類型
30.3.1創建UDT
30.3.2使用UDT
30.3.3在客戶端代碼中使用UDT
30.4用戶定義的合計函式
30.4.1創建用戶定義的合計函式
30.4.2使用用戶定義的合計函式
30.5存儲過程
30.5.1創建存儲過程
30.5.2使用存儲過程
30.6用戶定義的函式
30.6.1創建用戶定義的函式
30.6.2使用用戶定義的函式
30.7觸發器
30.7.1創建觸發器
30.7.2使用觸發器
30.8XML數據類型
30.8.1包含XML數據的表
30.8.2讀取XML值
30.8.3數據的查詢
30.8.4XML數據修改語言(XMLDML)
30.8.5XML索引
30.8.6強類型化的XML
30.9小結
第Ⅴ部分顯示
第31章Windows窗體
31.1創建Windows窗體應用程式類層次結構
31.2Control類
31.2.1大小和位置
31.2.2外觀
31.2.3用戶互動操作
31.2.4Windows功能
31.2.5雜項功能
31.3標準控制項和組件
31.3.1Button控制項
31.3.2CheckBox控制項
31.3.3RadioButton控制項
31.3.4ComboBox控制項、ListBox控制項和CheckedListBox控制項
31.3.5DateTimePicker控制項
31.3.6ErrorProvider組件
31.3.7HelpProvider組件
31.3.8ImageList組件
31.3.9Label控制項
31.3.10ListView控制項
31.3.11PictureBox控制項
31.3.12ProgressBar控制項
31.3.13TextBox控制項、RichTextBox控制項與MaskedTextBox控制項
31.3.14Panel控制項
31.3.15FlowLayoutPanel和TableLayoutPanel控制項
31.3.16SplitContainer控制項
31.3.17TabControl控制項和TabPages控制項
31.3.18ToolStrip控制項
31.3.19MenuStrip控制項
31.3.20ContextMenuStrip控制項
31.3.21ToolStripMenuItem控制項
31.3.22ToolStripManager類
31.3.23ToolStripContainer控制項
31.4窗體
31.4.1Form類
31.4.2多文檔界面
31.4.3定製控制項
31.5小結
第32章數據綁定
32.1DataGridView控制項
32.1.1顯示列表數據
32.1.2數據源
32.2DataGridView類的層次結構
32.3數據綁定
32.3.1簡單的綁定
32.3.2數據綁定對象
32.4VisualStudio和數據訪問
32.4.1創建一個連線
32.4.2選擇數據
32.4.3更新數據源
32.4.4其他常見的要求
32.5小結
第33章使用GDI+繪圖
33.1理解繪圖規則
33.1.1GDI和GDI+
33.1.2繪製圖形
33.1.3使用OnPaint()繪製圖形
33.1.4使用剪下區域
33.2測量坐標和區域
33.2.1Point和PointF結構
33.2.2Size和SizeF結構
33.2.3Rectangle和RectangleF結構
33.2.4Region
33.3調試須知
33.4繪製可滾動的視窗
33.5世界、頁面和設備坐標
33.6顏色
33.6.1紅綠藍(RGB)值
33.6.2命名的顏色
33.6.3圖形顯示模式和安全的調色板
33.6.4安全調色板
33.7畫筆和鋼筆
33.7.1畫筆
33.7.2鋼筆
33.8繪製圖形和線條
33.9顯示圖像
33.10處理圖像時的問題
33.11繪製文本
33.12簡單的文本示例
33.13字型和字型系列
33.14示例:枚舉字型系列
33.15編輯文本文檔:CapsEditor示例
33.15.1Invalidate()方法
33.15.2計算項和文檔的大小
33.15.3OnPaint()
33.15.4坐標轉換
33.15.5回響用戶的輸入
33.16列印
33.17小結
第34章WindowsPresentationFoundation
34.1概述
34.1.1XAML
34.1.2設計人員和開發人員的合作
34.1.3類層次結構
31.1.4命名空間
34.2形狀
34.3變換
34.4筆刷
34.4.1SolidColorBrush
34.4.2LinearGradientBrush
34.4.3RadialGradientBrush
34.4.4DrawingBrush
34.4.5ImageBrush
34.4.6VisualBrush
34.5控制項
34.5.1簡單控制項
34.5.2內容控制項
34.5.3有標題的內容控制項
34.5.4項控制項
34.5.5帶標題的項控制項
34.6布局
34.6.1StackPanel
34.6.2WrapPanel
34.6.3Canvas
34.6.4DockPanel
34.6.5Grid
34.7事件處理
34.8樣式、模板和資源
34.8.1樣式
34.8.2資源
34.8.3創建列表框的樣式
34.9小結
第35章高級WPF
35.1數據綁定
35.1.1概述
35.1.2用XAML綁定
35.1.3簡單對象的綁定
35.1.4對象數據提供程式
35.1.5列表綁定
35.1.6綁定到XML上
35.1.7綁定的驗證
35.2命令綁定
35.3動畫
35.3.1時間線
35.3.2觸發器
35.3.3故事板1
35.4在WPF中添加3D特性
35.5Windows窗體集成
35.5.1Windows窗體中的WPF控制項
35.5.2WPF應用程式中的Windows窗體控制項
35.6WPF瀏覽器應用程式
35.7小結
第36章外掛程式
36.1System.AddIn體系結構
36.1.1外掛程式的問題
36.1.2管道體系結構
36.1.3發現
36.1.4激活和隔離
36.1.5契約
36.1.6生存期
36.1.7版本問題
36.2外掛程式示例
36.2.1計算器契約
36.2.2計算器外掛程式視圖
36.2.3計算器外掛程式適配器
36.2.4計算器外掛程式
36.2.5計算器主機視圖
36.2.6計算機主機適配器
36.2.7計算器主機
36.2.8其他外掛程式
36.3小結
第37章ASP.NET頁面
37.1ASP.NET概述
37.2ASP.NETWeb窗體
37.2.1ASP.NET代碼模型
37.2.2ASP.NET伺服器控制項
37.3ADO.NET和數據綁定
37.3.1更新會議登記應用程式
37.3.2數據綁定的更多內容
37.4應用程式配置
37.5小結
第38章ASP.NET開發
38.1用戶控制項和定製控制項
38.1.1用戶控制項
38.1.2PCSDemoSite中的用戶控制項
38.1.3定製控制項
38.2Master頁面
38.2.1在Web頁面中訪問Master頁面
38.2.2嵌套的Master頁面
38.2.3PCSDemoSite中的Master頁面
38.3站點導航
38.4安全性
38.4.1使用安全嚮導添加Forms身份驗證功能
38.4.2實現登錄系統
38.4.3Web登錄伺服器控制項
38.4.4保護目錄
38.4.5PCSDemoSite中的安全性
38.5主題
38.5.1把主題套用於頁面
38.5.2定義主題
38.5.3PCSDemoSite中的主題
38.6WebParts
38.6.1WebParts應用程式組件
38.6.2WebParts示例
38.7小結
第39章ASP.NETAJAX
39.1Ajax的概念
39.2ASP.NETAJAX
39.2.1核心功能
39.2.2ASP.NETAJAXControlToolkit
39.3使用ASP.NETAJAX
39.3.1ASP.NETAJAX網站示例
39.3.2支持ASP.NETAJAX的網站配置
39.3.3添加ASP.NETAJAX功能
39.3.4使用AJAX庫
39.4小結
第40章VisualStudioToolsforOffice
40.1VSTO概述
40.1.1項目類型
40.1.2項目特性
40.2VSTO基礎
40.2.1Office對象模型
40.2.2VSTO命名空間
40.2.3主機項和主機控制項
40.2.4基本的VSTO項目結構
40.2.5Globals類
40.2.6事件處理
40.3建立VSTO解決方案
40.3.1管理應用程式級外掛程式
40.3.2與應用程式和文檔互動操作
40.3.3UI的定製
40.4示例應用程式
40.5VBA互動操作性
40.6小結
第Ⅵ部分通信
第41章訪問Internet
41.1WebClient
41.1.1下載檔案
41.1.2基本的Web客戶示例
41.1.3上傳檔案
41.2WebRequest類和WebResponse類
41.3把輸出結果顯示為HTML頁面
41.3.1在應用程式中進行簡單的Web瀏覽
41.3.2啟動InternetExplorer實例
41.3.3給應用程式提供更多的IE類型特性
41.3.4使用WebBrowser控制項列印
41.3.5顯示請求頁面的代碼
41.3.6WebRequest和WebResponse的層次結構
41.4實用工具類
41.4.1URI
41.4.2IP位址和DNS名稱
41.5較低層的協定
41.6小結
第42章WindowsCommunicationFoundation
42.1WCF概述
42.1.1SOAP
42.1.2WSDL
42.1.3JSON
42.2簡單的服務和客戶
42.2.1服務契約
42.2.2服務的實現
42.2.3WCF服務主機和WCF測試客戶機
42.2.4定製服務主機
42.2.5WCF客戶程式
42.2.6診斷
42.3契約
42.3.1數據契約
42.3.2版本問題
42.3.3服務契約
42.3.4訊息契約
42.4服務的實現
42.5綁定
42.6主機
42.6.1定製主機
42.6.2WAS主機
42.7客戶程式
42.8雙向通信
42.9小結
第43章WindowsWorkflowFoundation
43.1HelloWorld示例
43.2活動
43.2.1IfElseActivity
43.2.2ParallelActivity
43.2.3CallExternalMethodActivity
43.2.4DelayActivity
41.2.5ListenActivity
43.2.6活動的執行模型
43.3定製的活動
43.3.1活動的有效性驗證
43.3.2主題和設計器
43.3.3ActivityToolboxItem和圖示
43.3.4定製的複合活動
43.4工作流
43.4.1系列工作流
43.4.2狀態機工作流
43.4.3給工作流傳送參數
43.4.4從工作流中返回結果
43.4.5將參數綁定到活動上
43.5工作流運行庫
43.6工作流服務
43.6.1持續服務
43.6.2跟蹤服務
43.6.3定製服務
43.7與WCF集成
43.8保存工作流
43.9工作流設計器
43.10小結
第44章EnterpriseServices
44.1概述
44.1.1EnterpriseServices簡史
44.1.2使用EnterpriseServices的場合
44.1.3環境
44.1.4自動的事務處理
44.1.5分散式事務處理
44.1.6對象池
44.1.7基於角色的安全性
44.1.8排隊的組件
44.1.9鬆散藕合的事件
44.2創建簡單的COM+應用程式
44.2.1類ServicedComponent
44.2.2標記程式集
44.2.3程式集的屬性
44.2.4創建組件
44.3部署
44.3.1自動部署
44.3.2手工部署
44.3.3創建安裝軟體包
44.4ComponentServices瀏覽器
44.5客戶應用程式
44.6事務處理
44.6.1事務處理的屬性
44.6.2事務處理的結果
44.7示例應用程式
44.7.1實體類
44.7.2OrderControl組件
44.7.3OrderData組件
44.7.4OrderLineData組件
44.7.5客戶應用程式
44.8集成WCF和EnterpriseServices
44.8.1WCF服務Fa?ade
44.8.2客戶程式
44.9小結
第45章訊息佇列
45.1概述
45.1.1使用MessageQueuing的場合
45.1.2MessageQueuing特性
45.2MessageQueuing產品
45.3MessageQueuing結構
45.3.1訊息
45.3.2訊息佇列
45.4MessageQueuing管理工具
45.4.1創建訊息佇列
45.4.2訊息佇列屬性
45.5MessageQueuing的編程實現
45.5.1創建訊息佇列
45.5.2查找佇列
45.5.3打開已知的佇列
45.5.4傳送訊息
45.5.5接收訊息
45.6課程訂單應用程式
45.6.1課程訂單類庫
45.6.2課程訂單訊息傳送程式
45.6.3傳送優先權和可恢復的訊息
45.6.4課程訂單訊息接收程式
45.7接收結果
45.7.1確認佇列
45.7.2回響佇列
45.8事務佇列
45.9訊息佇列和WCF
45.9.1帶數據契約的實體類
45.9.2WCF服務契約
45.9.3WCF訊息接收程式
45.9.4WCF訊息傳送程式
45.10訊息佇列的安裝
45.11小結
第46章目錄服務
46.1ActiveDirectory的體系結構
46.1.1特性
46.1.2ActiveDirectory的概念
46.1.3ActiveDirectory數據的特性
46.1.4模式
46.2ActiveDirectory的管理工具
46.2.1ActiveDirectoryUsersandComputers工具
46.2.2ADSIEdit工具
46.3ActiveDirectory編程
46.3.1System.DirectoryServices命名空間中的類
46.3.2綁定
46.3.3獲取目錄項
46.3.4對象集合
46.3.5快取
46.3.6創建新對象
46.3.7更新目錄項
46.3.8訪問內部的ADSI對象
46.3.9在ActiveDirectory中搜尋
46.4搜尋用戶對象
46.4.1用戶界面
46.4.2獲取模式命名環境
46.4.3獲取User類的屬性名
46.4.4搜尋用戶對象
46.5賬戶管理
46.5.1顯示用戶信息
46.5.2創建用戶
46.5.3重置密碼
46.5.4創建組
46.5.5在組中添加用戶
46.5.6查找用戶
46.6DSML
46.6.1命名空間System.Directory-Services.Protocols中的類
46.6.2用DSML搜尋ActiveDirectory對象
46.7小結
第47章對等網路
47.1P2P概述
47.1.1客戶機-伺服器體系結構
47.1.2P2P體系結構
47.1.3P2P體系結構的挑戰
47.1.4P2P術語
47.1.5P2P解決方案
47.2MicrosoftWindowsPeer-to-PeerNetworking
47.2.1PeerNameResolutionProtocol(PNRP)
47.2.2PeopleNearMe
47.3建立P2P應用程式
47.3.1System.Net.PeerToPeer
47.3.2System.Net.PeerToPeer.Collaboration
47.4小結
第48章Syndication
48.1System.ServiceModel.Syndication命名空間概述
48.2Syndication閱讀器
48.3提供SyndicationFeed
48.4小結
第Ⅶ部分附錄
附錄AADO.NETEntityFramework
附錄BC#、VisualBasic和C++/CLI
附錄CWindowsVista和WindowsServer2008
……

序言

對於開發人員來說,把C#語言及其相關環境.NETFramework描述為多年來最重要的新技術一點都不誇張。.NET提供了一種新環境。在這個環境中,可以開發出運行在Windows上的幾乎所有應用程式,而C#是專門用於.NET的新程式語言。例如,使用C#可以編寫出動態Web頁面、XMLWeb服務、分散式應用程式的組件、資料庫訪問組件、傳統的Windows桌面應用程式,甚或可以在線上/脫機運行的新型智慧型客戶應用程式。本書介紹.NETFramework3.5版。如果讀者使用1.0、1.1、2.0或3.0版本編碼,本書的一些章節就不適用。本書將標註出只適用於.NETFramework3.5的新增內容。
不要被.NET這個名稱所愚弄,這個名稱儀強調Microsoft相信分散式應用程式是未來的趨勢,即處理過程分布在客戶機和伺服器上,但C#不僅僅是編寫Internet或與網路相關的應用程式的一種語言,它還提供了一種編寫Windows平台上幾乎任何類型的軟體或組件的方式。另外,C#和.NET都對編寫程式的方式進行了革新,更易於實現在Windows上的編程。
這是一個相當重要的聲明。畢竟,我們都知道計算機技術的發展速度非常快,每年Microsoft都會推出新軟體、新的編程工具或Windows的新版本,並宣稱這些對開發人員都非常有用,.NET和C#也不例外。
.NET和C#的重要性
為了理解.NET的重要性,了解一下近10年來出現的許多Windows技術的本質,會有一定的幫助。儘管所有的Windows作業系統在表面上看來完全不同,但從Windows3.1(1992年)到WindowsSeirver2008,在核心上都有相同的WindowsAPI。在我們轉而使用Windows的新版本時,API中增加了非常多的新功能,但這是一個演化和擴展API的過程,並非替換它。
開發Windows軟體所使用的許多技術和架構也是這樣。例如,COM(ComponentObjectModel,組件對象模型)是作為OLE(ObjectLinkingandEmbedding,對象連結和嵌入)開發出來的。那時,它在很大程度上僅是把不同類型的Office文檔連結在一起,所以利用它可以把一個小Excel電子表格放在Word文檔中。之後,它逐步演化為COM、DCOM(Dist~"ibutedCOM,分散式組件對象模型)和最終的COM+。COM+是一種複雜的技術,它是幾乎所有組件通信方式的基礎,實現了事務處理、訊息傳輸服務和對象池。
Microsoft選擇這條道路的原因非常明顯:它關注向後的兼容性。在過去的這些年中,第三方廠商編寫了相當多的Windows軟體,如果Microsoft每次都引入一項不遵循現有編碼規則的新技術,Windows就不會獲得今天的成功。
向後兼容性是Windows技術的極其重要的特性,也是Windows平台的一個長處。但它有一個很大的缺點:每次某項技術進行演化增加了新功能後,都會比它以前更複雜。

相關詞條

相關搜尋

熱門詞條

聯絡我們