C#入門經典

C#入門經典

《C#入門經典》是2006年清華大學出版社出版的圖書,作者karli Watson (美國)、Christian Nagel(美國),由齊立波翻譯。本書講述了C#編程的所有方面,包括C#語言本身、Windows編程、Web編程及數據源的使用等內容。

基本信息

第3版

內容簡介

這是一本曾成就無數C#程式設計師的經典名著,厚而不“重”,可幫助您輕鬆掌握C#2005的各種編程知識,為您的職業生涯打下堅實的基礎!該書自第1版問世,國內銷量達3萬冊!一本首選的入門教程。本書作者都是各自領域的專家,都是C#語言和.NETFramework愛好者。

第4版

內容簡介

《C#入門經典(第4版)》通過C#可以很容易地學習.NETFramework3.5的強大功能,所以C#是開始您編程生涯的絕佳方式。《C#入門經典(第4版)》全面闡述了C#編程的所有方面,包括C#語言本身、Windows編程、Web編程及數據源的使用等內容。
學習了新的編程技巧後,《C#入門經典(第4版)》介紹了如何高效地部署應用程式和服務,論述了許多高級技術,如圖形化編程。另外,還探討了如何使用VisualC#Express2008、VisualWebDeveloperExpress2008和VisualStudio2008的功能。所有這些內容都已更新,以反映.NETFramework3.5和VisualStudio2008的變化。各章的樣例代碼和示例還可以用於創建強大且安全的應用程式。
《C#入門經典(第4版)》語言簡練,條理清晰,涵蓋了VisualC#2008和.NETFramework3.5的全部內容。通過學習《C#入門經典(第4版)》,您將能夠快速入門,輕鬆開發出自己的應用程式。
《C#入門經典(第4版)》主要內容
C#的所有基礎知識和面向對象編程
通過C#語言編寫和部署Windows應用程式
開發定製的Web應用程式和利用Web服務的技巧
數據訪問技術,包括使用LINQ處理XML數據
通過單擊按鈕將應用程式發布到Web上
使用WindowsPresentationFoundation、WindowsWorkflowFoundation、WindowsCommunicationFoundation、GDI+和聯網等其他技術
《C#入門經典(第4版)》讀者對象
《C#入門經典(第4版)》適合於想學習使用.NETFramework編寫C#程式的讀者,也適合於已了解.NET,又想學習.NET3.5或VisualStudio2008最新功能的讀者。

圖書推薦

《C#入門經典(第4版)》是一本成就無數C#程式設計師的經典名著,厚而不“重”,可幫助您輕鬆掌握C#的各種編程知識,為您的職業生涯打下堅實的基礎,《C#入門經典》自第1版出版以來,全球銷量已經達數萬冊,在中國也有近8萬冊的銷量,已經成為廣大初級C#程式設計師首選的入門教程,也是目前國內市場上最暢銷的C#專業店銷書,曾兩次被CSDN、《程式設計師》等機構和讀者評選為“最受讀者喜愛的十大技術開發類圖書”!第4版面向C#2008和.NET3.5繼續完善原有內容,同時全面介紹.NET的最新技術和特性。
Wrox暢銷書!C#經典名著!2005年最杈威的十大IT圖書!2006年最受讀者喜愛的十大技術開發類圖書!2008年全國高校出版社優秀銷書一等獎!2006~2008年最暢銷的C#入門教程!

作者簡介

作者:(美國)karliWatson(美國)ChristianNagel譯者:齊立波黃靜
齊立波,計算機專業碩士、大學講師,一直從事C/C++和C#程式設計方面的教學與科研工作,曾參與編寫多本計算機教材,並為一些軟體公司翻譯過大量的技術文檔。
黃靜,計算機專業博士,在程式設計、軟體工程和網路安全等方面有著多年的研究和實戰經驗,曾為NET技術在國內的推廣作出了重要貢獻,翻譯和發表了多篇有關.NET的技術文檔和文章。

目錄

第Ⅰ部分C#語言
第1章C#簡介3
1.1什麼是.NETFramework3
1.1.1NETFramework的內容4
1.1.2用.NETFramework編寫應用程式4
1.2什麼是C#7
1.2.1用C#能編寫什麼樣的應用程式7
1.2.2本書中的C#8
1.3VisualStudio20088
1.3.1VisualStudio2008Express產品9
1.3.2解決方案9
1.4小結9
第2章編寫C#程式10
2.1開發環境10
2.1.1VisualStudio200811
2.1.2VisualC#2008ExpressEdition13
2.2控制台應用程式13
2.2.1SolutionExplorer16
2.2.2Properties視窗17
2.2.3ErrorList視窗17
2.3WindowsForms應用程式18
2.4小結22
第3章變數和表達式23
3.1C#的基本語法23
3.2C#控制台應用程式的基本結構25
3.3變數27
3.3.1簡單類型27
3.3.2變數的命名31
3.3.3字面值32
3.3.4變數的聲明和賦值33
3.4表達式34
3.4.1數學運算符34
3.4.2賦值運算符38
3.4.3運算符的優先權39
3.4.4名稱空間39
3.5小結42
3.6練習43
第4章流程控制44
4.1布爾邏輯44
4.1.1位運算符46
4.1.2布爾賦值運算符50
4.1.3運算符的優先權更新51
4.2goto語句52
4.3分支53
4.3.1三元運算符53
4.3.2if語句54
4.3.3switch語句57
4.4循環60
4.4.1do循環61
4.4.2while循環63
4.4.3for循環65
4.4.4循環的中斷69
4.4.5無限循環70
4.5小結70
4.6練習71
第5章變數的更多內容72
5.1類型轉換72
5.1.1隱式轉換72
5.1.2顯式轉換74
5.1.3使用Convert命令進行顯式轉換76
5.2複雜的變數類型79
5.2.1枚舉79
5.2.2結構83
5.2.3數組86
5.3字元串的處理91
5.4小結95
5.5練習96
第6章函式97
6.1定義和使用函式98
6.1.1返回值99
6.1.2參數101
6.2變數的作用域107
6.2.1其他結構中變數的作用域110
6.2.2參數和返回值與全局數據111
6.3Main()函式113
6.4結構函式114
6.5函式的重載115
6.6委託117
6.7小結119
6.8練習120
第7章調試和錯誤處理121
7.1VS和VCE中的調試121
7.1.1非中斷(正常)模式下的調試122
7.1.2中斷模式下的調試131
7.2錯誤處理139
7.2.1try...catch...finally140
7.2.2列出和配置異常144
7.2.3異常處理的注意事項145
7.3小結146
7.4練習146
第8章面向對象編程簡介147
8.1什麼是面向對象編程147
8.1.1什麼是對象148
8.1.2所有的東西都是對象151
8.1.3對象的生命周期151
8.1.4靜態和實例類成員152
8.2OOP技術153
8.2.1接口153
8.2.2繼承155
8.2.3多態性156
8.2.4對象之間的關係157
8.2.5運算符重載159
8.2.6事件159
8.2.7引用類型和值類型160
8.3Windows應用程式中的OOP160
8.4小結162
8.5練習163
第9章定義類164
9.1C#中的類定義164
9.2System.Object169
9.3構造函式和析構函式170
9.4VS和VCE中的OOP工具174
9.4.1ClassView視窗174
9.4.2對象瀏覽器176
9.4.3添加類177
9.4.4類圖177
9.5類庫項目179
9.6接口和抽象類182
9.7結構類型184
9.8小結186
9.9練習186
第10章定義類成員187
10.1成員定義187
10.1.1定義欄位187
10.1.2定義方法188
10.1.3定義屬性189
10.1.4在類圖中添加成員194
10.1.5重製成員196
10.1.6自動屬性197
10.2類成員的其他議題197
10.2.1隱藏基類方法198
10.2.2調用重寫或隱藏的基類方法199
10.2.3嵌套的類型定義200
10.3接口的實現201
10.4部分類定義204
10.5部分方法定義206
10.6示例應用程式207
10.6.1規劃應用程式207
10.6.2編寫類庫208
10.6.3類庫的客戶應用程式214
10.7小結215
10.8練習216
第11章集合、比較和轉換217
11.1集合217
11.1.1使用集合218
11.1.2定義集合224
11.1.3索引符225
11.1.4給CardLib添加Cards集合227
11.1.5關鍵字值集合和IDictionary229
11.1.6疊代器231
11.1.7深度複製236
11.1.8給CardLib添加深度複製238
11.2比較239
11.2.1類型比較240
11.2.2值比較244
11.3轉換259
11.3.1重載轉換運算符259
11.3.2as運算符260
11.4小結261
11.5練習262
第12章泛型263
12.1泛型的概念263
12.2使用泛型264
12.2.1可空類型264
12.2.2System.Collections.Generic名稱空間271
12.3定義泛型279
12.3.1定義泛型類280
12.3.2定義泛型接口291
12.3.3定義泛型方法291
12.3.4定義泛型委託293
12.4小結293
12.5練習293
第13章其他OOP技術295
13.1::運算符和全局名稱空間
13.2定製異常296
13.2.1異常基類297
13.2.2給CardLib添加定製異常297
13.3事件298
13.3.1什麼是事件298
13.3.2使用事件300
13.3.3定義事件302
13.4擴展和使用CardLib309
13.5小結317
13.6練習317
第14章C#3.0語言的改進318
14.1初始化器318
14.1.1對象初始化器319
14.1.2集合初始化器320
14.2類型推斷323
14.3匿名類型325
14.4擴展方法328
14.5?表達式333
14.5.1複習匿名方法333
14.5.2把?表達式用於匿名方法334
14.5.3?表達式的參數337
14.5.4?表達式的語句體337
14.5.5?表達式用作委託和XML文檔對象模型655
25.2.2選擇節點663
25.3小結670
25.4練習671
第26章LINQ簡介672
26.1LINQ的變體673
26.2第一個LINQ查詢673
26.2.1用var關鍵字聲明結果變數675
26.2.2指定數據源:from子句675
26.2.3指定條件:where子句675
26.2.4指定元素:select子句676
26.2.5完成:使用foreach循環676
26.2.6延遲執行的查詢676
26.3使用LINQ方法語法和?表達式676
26.3.1LINQ擴展方法676
26.3.2查詢語法和方法語法677
26.3.3?表達式677
26.4排序查詢結果679
26.5orderby子句680
26.6用方法語法排序681
26.7查詢大型數據集682
26.8合計運算符685
26.9查詢複雜的對象688
26.10投射:在查詢中創建新對象691
26.11投射:方法語法693
26.12單值選擇查詢693
26.13Any和All694
26.14多級排序696
26.15多級排序方法語法:ThenBy698
26.16組合查詢698
26.17Take和Skip700
26.18First和FirstOrDefault702
26.19集運算符703
26.20Join查詢706
26.21資源和進一步閱讀707
26.22小結707
26.23練習707
第27章LINQtoSQL709
27.1對象相關映射709
27.2安裝SQLServer和Northwind示例數據710
27.2.1安裝SQLServerExpress2005710
27.2.2安裝Northwind示例資料庫711
27.3第一個LINQtoSQL查詢712
27.4瀏覽LINQtoSQL關係717
27.5進一步探討LINQtoSQL720
27.6LINQtoSQL中的組合、排序和其他高級查詢723
27.7顯示生成的SQL725
27.8用LINQtoSQL綁定數據729
27.9用LINQtoSQL更新綁定數據733
27.10小結734
27.11練習735
第28章ADO.NET和LINQoverDataSet736
28.1ADO.NET概述736
28.1.1ADO.NET名稱的來源737
28.1.2ADO.NET的設計目標738
28.2ADO.NET類和對象概述739
28.2.1提供者對象739
28.2.2用戶對象740
28.2.3使用System.Data名稱空間741
28.3用DataReader讀取數據742
28.4用DataSet讀取數據749
28.4.1用數據填充DataSet749
28.4.2訪問DataSet中的表、行和列749
28.5更新資料庫752
28.5.1給資料庫添加行755
28.5.2刪除行761
28.6在DataSet中訪問多個表762
28.6.1ADO.NET中的關係762
28.6.2用關係導航763
28.7XML和ADO.NET770
28.8ADO.NET中的SQL支持773
28.8.1DataAdapter對象中的SQL命令773
28.8.2直接執行SQL命令776
28.8.3調用SQL存儲過程778
28.9使用LINQoverDataSet和ADO.NET780
28.10小結784
28.11練習784
第29章LINQtoXML785
29.1LINQtoXML函式構造方法785
29.2保存和載入XML文檔789
29.2.1從字元串中載入XML791
29.2.2已保存的XML文檔內容792
29.3處理XML片段792
29.4通過LINQtoXML生成XML794
29.5查詢XML文檔798
29.6小結804
29.7練習804
第Ⅴ部分其他技術
第30章屬性809
30.1什麼是屬性809
30.2反射812
30.3內置屬性815
30.3.1System.Diagnostics.ConditionalAttribute815
30.3.2System.ObsoleteAttribute817
30.3.3System.Serializable
Attribute818
30.3.4System.Reflection.AssemblyDelaySignAttribute821
30.4定製屬性824
30.4.1BugFixAttribute824
30.4.2System.AttributeUsageAttribute826
30.5小結830
第31章XML文檔說明831
31.1添加XML文檔說明831
31.1.1XML文檔說明的注釋833
31.1.2使用類圖添加XML文檔說明839
31.1.3生成XML文檔說明檔案842
31.1.4帶有XML文檔說明的應用程式示例844
31.2使用XML文檔說明846
31.2.1編程處理XML文檔說明846
31.2.2用XSLT格式化XML文檔說明848
31.2.3文檔說明工具849
31.3小結850
31.4練習851
第32章網路852
32.1聯網概述852
32.1.1名稱的解析855
32.1.2統一資源標識符856
32.1.3TCP和UDP857
32.1.4套用協定857
32.2網路編程選項859
32.3WebClient859
32.4WebRequest和WebResponse861
32.5TcpListener和TcpClient868
32.6小結876
32.7練習876
第33章GDI+簡介877
33.1圖形繪製概述877
33.1.1Graphics類878
33.1.2對象的刪除878
33.1.3坐標系統879
33.1.4顏色884
33.2使用Pen類繪製線條885
33.3使用Brush類繪製圖形887
33.4使用Font類繪製文本890
33.5使用圖像進行繪製893
33.5.1使用紋理畫筆繪圖895
33.5.2使用鋼筆繪製圖像897
33.5.3雙倍緩衝898
33.6GDI+的高級功能900
33.6.1剪下900
33.6.2System.Drawing.Drawing2D901
33.6.3System.Drawing.Imaging901
33.7小結901
33.8練習902
第34章WindowsPresentationFoundation903
34.1WPF的概念904
34.1.1WPF給設計人員帶來的好處904
34.1.2WPF給C#開發人員帶來的好處906
34.2基本WPF應用程式的組成906
34.3WPF基礎916
34.3.1XAML語法917
34.3.2桌面和Web應用程式919
34.3.3Application對象920
34.3.4控制項基920
34.3.5控制項的布局928
34.3.6控制項的樣式936
34.3.7觸發器941
34.3.8動畫942
34.3.9靜態和動態資源944
34.4用WPF編程949
34.4.1WPF用戶控制項950
34.4.2實現依賴屬性950
34.5小結959
34.6練習960
第35章WindowsCommunicationFoundation961
35.1WCF是什麼961
35.2WCF概念962
35.2.1WCF通信協定962
35.2.2地址、端點和綁定963
35.2.3契約964
35.2.4訊息模式965
35.2.5行為965
35.2.6主機965
35.3WCF編程966
35.3.1定義WCF服務契約973
35.3.2自存儲的WCF服務979
35.4小結985
35.5練習986
第36章WindowsWorkflowFoundation987
36.1活動990
36.1.1DelayActivity990
36.1.2SuspendActivity991
36.1.3WhileActivity992
36.1.4SequenceActivity994
36.1.5定製活動997
36.2工作流運行庫1002
36.3數據綁1007
36.4小結1010

序言

C#是Microsoft在2000年7月推出.NETFramework的第1版時提供的一種全新語言。C#的快速流行,使之成為使用.NETFramework的Windows和Web開發人員無可爭議的語言選擇。他們喜歡C#的一個原因是其派生於C/C++的簡潔語法,這種語法簡化了以前困擾一些程式設計師的問題。儘管做了這些簡化,但C#仍保持了C++原來的功能,所以現在沒有理由不從C++轉向C#。C#語言並不難,也非常適合於學習基本編程技術。易於學習,再加上.NETFramework的功能,使C#成為開始您編程生涯的絕佳方式。
C#的最新版本3.0是.NETFramework3.5的一部分,它建立在已有的成功基礎之上,還添加了一些更吸引人的功能。其中一些功能取自於C++(至少從表面上看是這樣),而另外一些功能是全新的。VisualStudio的最新版本和開發工具的Express系列也有許多變化和改進,這大大簡化了編程,顯著提高了效率。
本書將全面介紹C#編程的所有知識,從該語言本身一直到Windows和Web編程,再到數據源的使用,最後是一些高級技術,例如,圖形編程。我們還將學習VisualC#Express2008、VisualWebDeveloperExpress2008和VisualStudio2008的功能和利用它進行應用程式開發的各種方式。本書界面友好,闡述清晰,每一章都以前面章節的內容為基礎,便於讀者掌握高級技術。每個概念都會根據需要來介紹和討論,而不會突然冒出某個技術術語來妨礙讀者的閱讀和理解。本書儘量不使用技術術語,但如果需要,將根據上下文進行正確的定義和布置。
本書的作者都是各自領域的專家,都是C#語言和.NETFramework的愛好者,沒有人比他們更有資格講授C#了,他們將在您掌握從基本規則到高級技術的過程中為您保駕護航。除了基礎知識之外,本書還有許多有益的提示、練習、完全成熟的示例代碼(可以從p2p.wrox.com上下載),在您的職業生涯中一定會用到它們。
本書將毫無保留地傳授這些知識,希望讀者能通過本書成為最優秀的程式設計師。
0.1本書讀者對象
本書主要針對想學習如何使用.NETFramework編寫C#程式的所有人。本書前面的章節介紹該語言本身,讀者不需要具備任何編程經驗。以前對其他語言有一定了解的開發人員,會覺得這些章節的內容非常熟悉。C#語法的許多方面都與其他語言相同,許多結構對所有的程式語言來說都是一樣的(例如,循環和分支結構)。但是,即使是有經驗的程式設計師也可以從這些章節中獲益,理解這些技術套用於C#的特徵。
如果讀者是編程新手,就應從頭開始學習。如果讀者對.NETFramework比較陌生,但知道如何編程,就應閱讀第1章,然後快速跳讀後面的幾章,這樣就能掌握C#語言的套用方式了。如果讀者知道如何編程,但以前沒有接觸過面向對象的程式語言,就應從第8章開始閱讀以後的章節。
如果讀者對C#語言比較了解,就可以集中精力學習詳細論述最新.NETFramework和C#語言開發的章節,尤其是集合、泛型和C#3.0語言的新增內容(第11~14章),或者完全跳過本書的第I部分,從第15章開始學習。
本書章節的編寫目的有兩個:這些章節可以按順序閱讀,是C#語言的一個完整教程。還可以按照需要深入學習這些章節,將其作為一本參考資料。
除了核心內容之外,每一章還包含一組練習,完成這些練習有助於讀者理解所學習的內容。練習包括簡單的選擇題、判斷題以及需要修改或建立應用程式的較難問題。
0.2本書結構
本書分為6個部分。
●引言:概述本書的內容和作者。
●C#語言:介紹了C#語言的所有內容,從基礎知識到面向對象的技術,應有盡有。
●Windows編程:介紹如何用C#編寫Windows應用程式,如何部署它們。
●Web編程:描述Web應用程式的開發、Web服務和Web應用程式的部署。
●數據訪問:介紹在應用程式中如何使用數據,包括存儲在硬碟檔案上的數據、以XML格式存儲的數據和資料庫中的數據。
●其他技術:講述使用C#和.NETFramework的一些額外方式,包括屬性、XML文檔說明、網路和GDI+圖形編程。還探討了由.NET3.0引入且由.NET3.5改進的WPF、WCF和WF技術。
下面介紹本書5個重要部分中的章節。
0.2.1C#語言(第1~~14章)
第1章介紹C#以及它與.NET的關係,了解在這個環境下編程的基礎知識,以及VisualC#Express(VCE)和VS與它的關係。
第2章開始介紹C#應用程式開發,學習C#的語法,並把C#和樣例命令行、Windows應用程式結合起來使用。這些示例將說明C#如何快速輕鬆地啟動和運行,並附帶介紹VCE和VS開發環境以及本書將使用的基本視窗和工具。
接著,第3章學習C#語言的更多基礎知識,理解變數的含義以及如何操縱它們。第4章將用流程控制(循環和分支)改進應用程式的結構,第5章介紹一些高級的變數類型,如數組。第6章開始以函式的形式封裝代碼,這樣就更易於執行重複的操作,代碼更容易理解。
從第7章開始將運用C#語言的基礎知識,調試應用程式,這包括在運行應用程式時輸出跟蹤信息,使用VS查找錯誤,在強大的調試環境中找出解決問題的辦法。
第8章將學習面向對象編程(Object-OrientedProgramming,OOP)。首先了解這個術語的含義,回答"什麼是對象?"。這個OOP初看起來是比較難的問題。我們將用整整一章的篇幅來介紹它,解釋對象的強大之處。直到本章的最後才會使用C#代碼。
第9章將理論套用於實踐,開始在C#應用程式中使用OOP時,一切都會發生變化,而這正是C#的強大之處。第10章首先介紹如何定義類和接口,然後探討類成員(包括欄位、屬性和方法),在這一章的最後將開始創建一個撲克牌遊戲應用程式,這個應用程式將在幾章中開發完成,它非常有助於理解OOP。
學習了OOP在C#中的工作原理後,第11章將介紹幾種常見的OOP場景,包括處理對象集合、比較和轉換對象。第12章討論.NET2.0中C#的一個非常有用的新特性——泛型,利用它可以創建非常靈活的類。第13章通過一些其他技術和事件(它在Windows編程中非常重要)完成C#語言和OOP的討論。最後,第14章介紹C#3.0中引入的新特性。
0.2.2Windows編程(第15~~18章)
第15章開始介紹Windows編程的概念,理解在VCE和VS中如何實現Windows編程。這一章也是從基礎知識開始介紹,並構建知識體系。第16章學習如何在應用程式中使用.NETFramework提供的各種控制項。我們將簡要論述.NET如何以圖形化的方式建立Windows應用程式,以最少的時間和精力創建高級應用程式。
第17章介紹一些常用的功能。利用這些功能可以方便地添加專業功能,例如,檔案管理、列印等。第18章討論應用程式的部署,包括建立安裝程式,以便用戶快速安裝和運行應用程式。
0.2.3Web編程(第19~~23章)
這個部分的結構與Windows編程部分類似。首先,第19章描述了構成最簡單的Web應用程式的控制項,如何把它們組合在一起,讓它們使用ASP.NET執行任務。第20章以此為基礎,介紹了更高級的技術、各種控制項、Web環境下的狀態管理,以及Web標準的遵循。
第21章將涉足Web服務的精彩世界,它可以編程訪問Internet上的信息和功能,可以把複雜的數據和功能以獨立於平台的方式嵌入Web和Windows應用程式。這一章討論如何使用和創建Web服務,以及.NET提供的其他工具,如安全性。
第22章介紹Ajax編程,這種方式可以給Web應用程式添加動態的客戶端功能。.NETFramework3.5通過ASP.NETAjax提供了Ajax功能,本章會解釋如何使用它。
最後,第23章探討Web應用程式和服務的部署,尤其是可以通過單擊按鈕把應用程式發布到Web上的VS和VWD新特性。
0.2.4數據訪問(第24~~29章)
第24章介紹了應用程式如何保存和檢索磁碟上的數據,作為簡單的文本檔案或者更複雜的數據表示方式。這一章還將討論如何壓縮數據,如何操縱舊數據(例如,用逗號隔開的值(CSV)檔案),如何監視和處理檔案系統的變化。
第25章學習數據交換的事實標準XML。前面的章節接觸過XML幾次,而這一章將了解XML的基本規則,論述XML的所有功能。
本部分的其餘章節介紹LINQ,這是內置於.NETFramework最新版本中的查詢語言。第26章簡要介紹LINQ,第27章使用LINQ訪問資料庫中的數據。第28章介紹如何聯合使用LINQ和舊的ADO.NET數據訪問技術。最後,第29章學習如何使用LINQ處理XML數據。
0.2.5其他技術(第30~~36章)
本書的最後一部分將介紹C#和.NET主題的其他技術。第30章將探討屬性,可以在程式集中包含類型的其他信息,添加用其他方式很難實現的功能。
第31章研究XML文檔說明,並介紹如何在原始碼中給應用程式添加注釋。我們將學習如何添加這些信息,如何使用和提取它們,從而從代碼中生成MSDN樣式的文檔說明。
第32章介紹網路,應用程式如何相互通信,如何與各種網路上的其他服務通信。第33章從本書前面學習的各種技術中解脫出來,研究用GDI+進行圖形編程的主題,理解如何操縱圖形,設定應用程式的樣式,這一章打開了一條通往各種C#應用程式的大門。
最後要討論.NETFramework最新版本中的幾個新技術。第34章介紹WindowsPresentationFoundation(WPF),了解它給Windows和Web開發帶來了哪些變化。第35章介紹WindowsCommunicationFoundation(WCF),它把Web服務的概念擴展和改進為一種企業級的通信技術。本書的最後一章是第36章,介紹了WindowsWorkflowFoundation(WF),它允許在應用程式中執行工作流功能,因此可以定義一些操作,這些操作由外部的互動操作控制,以特定的順序執行,這對許多類型的應用程式都很有幫助。
0.3使用本書的要求
本書中C#和.NETFramework的代碼和描述都適用於.NET3.5。除了Framework之外,不需要其他東西就可以理解本書的這個方面,但許多示例都需要VisualC#Express2008作為主要開發工具,一些章節則使用了VisualWebDeveloperExpress2008。另外,一些功能只能在VisualStudio2008中使用,這會在相應的地方明確指出。
0.4原始碼
在讀者學習本書中的示例時,可以手工輸入所有的代碼,也可以使用本書附帶的原始碼檔案。
使用Search工具或使用書名列表就可以找到本書。接著單擊本書細目頁面上的DownloadCode連結,就可以獲得所有的原始碼。
注釋:
由於許多圖書的標題都很類似,所以按ISBN搜尋是最簡單的,本書英文版的ISBN是978-0-470-19135-4。
在下載了代碼後,只需用自己喜歡的解壓縮軟體對它進行解壓縮即可。
0.5勘誤表
儘管我們已經盡了各種努力來保證文章或代碼中不出現錯誤,但是錯誤總是難免的,如果您在本書中找到了錯誤,例如拼寫錯誤或代碼錯誤,請告訴我們,我們將非常感激。通過勘誤表,可以讓其他讀者避免受挫,當然,這還有助於提供更高質量的信息。
請給聯繫我們,我們就會檢查您的反饋信息,如果是正確的,我們將在本書的後續版本中採用。
要在網站上找到本書英文版的勘誤表,通過Search工具或書名列表查找本書,然後在本書的細目頁面上,單擊BookErrata連結。在這個頁面上可以查看到Wrox編輯已提交和貼上的所有勘誤項。完整的圖書列表還包括每本書的勘誤表。
0.6P2P.WROX.COM
要與作者和同行討論,請加入p2p.wrox.com上的P2P論壇。這個論壇是一個基於Web的系統,便於您張貼與Wrox圖書相關的訊息和相關技術,與其他讀者和技術用戶交流心得。該論壇提供了訂閱功能,當論壇上有新的訊息時,它可以給您傳送感興趣的論題。Wrox作者、編輯和其他業界專家和讀者都會到這個論壇上來探討問題。
在http://p2p.wrox.com上,有許多不同的論壇,它們不僅有助於閱讀本書,還有助於開發自己的應用程式。要加入論壇,可以遵循下面的步驟:
(1)進入p2p.wrox.com,單擊Register連結。
(2)閱讀使用協定,並單擊Agree按扭。
(3)填寫加入該論壇所需要的信息和自己希望提供的其他信息,單擊Submit按扭。
(4)您會收到一封電子郵件,其中的信息描述了如何驗證賬戶,完成加入過程。
注釋:
不加入P2P也可以閱讀論壇上的訊息,但要張貼自己的訊息,就必須加入該論壇。
加入論壇後,就可以張貼新訊息,回響其他用戶張貼的訊息。可以隨時在Web上閱讀訊息。如果要讓該網站給自己傳送特定論壇中的訊息,可以單擊論壇列表中該論壇名旁邊的subscribetothisForum圖示。
關於使用WroxP2P的更多信息,可閱讀P2PFAQ,了解論壇軟體的工作情況以及P2P和Wrox圖書的許多常見問題。要閱讀FAQ,可以在任意P2P頁面上單擊FAQ連結。

相關搜尋

熱門詞條

聯絡我們