C#入門經典(第6版) ( 簡體 字) |
作者:[美] Karli Watson,Jacob Vibe Hammer,Jon D. Reid,Morgan Skinner,Daniel Kemper,Christian Nagel 著 | 類別:1. -> 程式設計 -> .NET -> C# |
譯者:齊立波,黃俊偉 譯 |
出版社:清華大學出版社 | 3dWoo書號: 37246 詢問書籍請說出此書號!【缺書】 【不接受訂購】 |
出版日:11/28/2013 |
頁數:852 |
光碟數:0 |
|
站長推薦:  |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
【不接受訂購】 |
ISBN:9787302343394 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:C#是Microsoft于2000年7月推出.NET Framework的第1版時提供的一種全新語言。C#從那時起迅速流行開來,成為使用.NET Framework的桌面和Web開發人員無可爭議的選擇。他們喜歡C#的一個原因是其派生于C/C++的簡潔明了的語法,這種語法簡化了以前一些給程序員帶來困擾的問題。盡管做了這些簡化,但C#仍保持了C++原有的功能,所以現在沒理由不從C++轉向C#。C#語言并不難,也非常適合于學習基本編程技術。易于學習,再加上.NET Framework的功能,使C#成為開始您編程生涯的絕佳方式。 C#的最新版本C# 5是.NET Framework 4.5的一部分,它建立在已有的成功基礎之上,還添加了一些更吸引人的功能。Visual Studio的最新版本Visual Studio 2012和開發工具的Visual Studio Express 2012系列也有許多變化和改進,這大大簡化了編程工作,顯著提高了效率。 本書將全面介紹C#編程的所有知識,從該語言本身一直到桌面和Web編程,再到數據源的使用,最后是一些新的高級技術。我們還將學習Visual Studio 2012的功能和利用它開發應用程序的各種方式。 本書文筆優美流暢,闡述清晰,每一章都以前面章節的內容為基礎,便于讀者掌握高級技術。每個概念都會根據需要來介紹和討論,而不會突然冒出某個技術術語來妨礙讀者的閱讀和理解。本書盡量減少使用的技術術語數量,但如果需要,將根據上下文進行正確的定義和布置。 本書的作者都是各自領域的專家,都是C#語言和.NET Framework的愛好者,沒有人比他們更有資格講授C#了,他們將在您掌握從基本規則到高級技術的過程中為您保駕護航。除了基礎知識外,本書還有許多有益的提示、練習、完全成熟的示例代碼(可從p2p.wrox.com上下載),在您的職業生涯中一定會反復用到它們。 本書將毫無保留地傳授這些知識,希望讀者能通過閱讀本書成為最優秀的程序員。 0.1 本書讀者對象 本書主要針對想學習如何使用.NET Framework編寫C#程序的所有人。本書針對的是想要通過學習一種干凈、現代、優雅的編程語言來掌握程序設計的完完全全的初學者。但是,對于熟悉其他語言、想要探索.NET平臺的人們,以及想要了解Microsoft .NET使用的旗艦語言的.NET開發人員,本書同樣有用。 0.2 本書內容 本書前面的章節介紹該語言本身,讀者不需要具備任何編程經驗。以前對其他語言有一定了解的開發人員,會覺得這些章節的內容非常熟悉。C#語法的許多方面都與其他語言相同,許多結構對所有的編程語言來說都是相通的(例如,循環和分支結構)。但是,即使是有經驗的程序員也可以從這些章節中獲益,理解這些技術應用于C#的特征。 如果讀者是編程新手,就應從頭開始學習,了解基本的編程概念,并熟悉C#和支持C#的.NET平臺。如果讀者對.NET Framework比較陌生,但知道如何編程,就應閱讀第1章,然后快速跳讀后面幾章,這樣就能掌握C#語言的應用方式了。如果讀者知道如何編程,但以前從未接觸過面向對象的編程語言,就應從第8章開始閱讀以后的章節。 如果讀者對C#語言比較了解,就可以集中精力學習那些詳細論述最新.NET Framework和C#語言開發的章節,尤其是集合、泛型和C#語言的新增內容(第11∼14章),或者完全跳過本書的第I部分,從第15章開始學習。 本書章節的編排方式可以達到兩個目的:可以按順序閱讀這些章節,將其視為C#語言的一個完整教程;還可以按照需要深入學習這些章節,將其作為一本參考資料。 除核心內容外,從第3章開始,每章末尾還包含一組習題,完成這些習題有助于讀者理解所學的內容。習題包括簡單的選擇題、判斷題以及需要修改或建立應用程序的較難問題。附錄A給出了全部習題的答案,還可在www.wrox.com/remtitle.cgi?isbn=9781118314418上的Download Code部分找到這些習題。 本書特別注重與C# 5、.NET 4.5的一致性。每一章都進行了徹底的檢查,刪掉了不太相關的內容,增加了新材料。所有代碼都在最新版本的開發工具上進行了測試,所有屏幕截圖都在Windows 8上重新截取,以提供最新的窗口和對話框。 盡管我們不喜歡承認失誤,但還是修訂了前幾版中的錯誤,處理了許多其他的讀者評論。我們希望不要出現太多的新錯誤,但一旦發現了錯誤,我們的Web專家就會聯機修改它們。 本版本的亮點包括: ● 增加并改進了代碼示例。 ● 對桌面應用程序的討論從使用原來的方式(Windows Forms)改為使用新方式(Wiondows Presentation Foundation),讓你緊跟技術的發展。 ● 涵蓋C# 5和.NET 4.5的所有新內容,包括如何創建Windows Store應用程序。 ● 十分合理地介紹高級技術,重點是適合于新手、較容易理解的內容。 0.3 本書結構 本書分為6個部分。 ● 前言:概述本書的內容。 ● C#語言:介紹了C#語言的所有內容,從基礎知識到面向對象的技術,一應俱全。 ● Windows編程:介紹如何用C#編寫桌面和Windows Store應用程序,如何部署它們。 ● Web編程:描述Web應用程序的開發和部署。 ● 數據訪問:介紹如何在應用程序中使用數據,包括存儲在硬盤文件中的數據、以XML格式存儲的數據和數據庫中的數據。 ● 其他技術:講述使用C#和.NET Framework的一些額外方式,包括由.NET 3.0引入然后經.NET 4和.NET 4.5改進的WCF和WF技術。 下面介紹本書5個重要部分中的章節。 0.3.1 C#語言(第1∼14章) 第1章介紹C#及其與.NET的關系,了解在這個環境下編程的基礎知識,以及Visual Studio 2012(VS)與它的關系。 第2章開始介紹如何編寫C#應用程序,學習C#的語法,并將C#和示例命令行、Windows應用程序結合起來使用。這些示例將說明C#如何快速輕松地啟動和運行,并附帶介紹VS開發環境以及本書將要使用的基本窗口和工具。 接著將學習C#的基礎知識。第3章介紹變量的含義以及如何操縱它們。第4章將用流程控制(循環和分支)改進應用程序的結構,第5章介紹一些高級變量類型,如數組。第6章開始以函數形式封裝代碼,這樣就更易于執行重復的操作,使代碼更容易讓人理解。 從第7章開始將運用C#語言的基礎知識,調試應用程序。這包括在運行應用程序時輸出跟蹤信息,使用VS查找錯誤,在強大的調試環境中找出解決問題的辦法。 第8章將學習面向對象編程(Object-Oriented Programming,OOP)。首先了解這個術語的含義,回答“什么是對象?”OOP初看起來是較難的問題。我們將用一整章的篇幅來介紹它,解釋對象的強大之處。直到該章的最后才會真正使用C#代碼。 第9章將理論知識應用于實踐,開始在C#應用程序中使用OOP時,這才體現出C#的真正威力。在第9章介紹如何定義類和接口之后,第10章將探討類成員(包括字段、屬性和方法),在這一章的最后將開始創建一個撲克牌游戲應用程序,這個應用程序將在幾章中開發完成,它非常有助于理解OOP。 學習了OOP在C#中的工作原理后,第11章將介紹幾種常見的OOP場景,包括處理對象集合、比較和轉換對象。第12章討論.NET 2.0中C#引入的一個非常有用的特性—— 泛型,利用它可以創建非常靈活的類。第13章通過一些其他技術(主要是事件,它在Windows編程中非常重要)繼續討論C#語言和OOP。最后,第14章介紹C# 3.0、4和5中引入的新特性。 0.3.2 Windows編程(第15∼18章) 第15章開始介紹Windows編程概念,理解在VS中如何實現Windows編程。該章主要關注如何使用WPF以圖形化方式構建桌面應用程序,以及用最少的時間和精力創建高級應用程序。你將首先學習WPF編程的基礎知識,然后在該章和第16章逐漸拓展相關知識。第16章介紹了在應用程序中如何使用.NET Framework提供的豐富控件。 第17章介紹了如何創建Windows 8中新增的Windows Store應用程序。Windows Store應用程序是一種令人興奮的新應用程序類型,可以為用戶提供愉悅的全屏體驗。該章還將介紹如何準備應用程序以便在Windows Store中進行銷售。 第18章討論應用程序的部署,包括建立安裝程序,以便用戶快速安裝和運行應用程序。 0.3.3 Web編程(第19∼20章) 該部分的結構與桌面編程部分類似。首先,第19章描述了構成最簡單Web應用程序的控件,如何把它們組合在一起,讓它們使用ASP.NET執行任務。接著介紹了更高級的技術、ASP.NET AJAX、各種控件、Web上下文下的狀態管理以及Web標準的遵循。 然后,第20章探討Web應用程序和服務的部署,尤其是可以通過單擊按鈕把應用程序發布到Web上的VS特性。 0.3.4 數據訪問(第21∼24章) 第21章介紹了應用程序如何將數據保存到磁盤以及如何檢索磁盤上的數據(作為簡單的文本文件或者更復雜的數據表示方式)。該章還將討論如何壓縮數據,如何操縱舊數據(例如CSV文件),如何監視和處理文件系統的變化。 第22章學習數據交換的事實標準XML。之前的章節接觸過XML幾次,而該章將討論XML的基本規則,論述XML的所有功能。 該部分其余章節介紹LINQ(這是內置于.NET Framework最新版本中的查詢語言)。第23章簡要介紹LINQ。第24章使用LINQ訪問數據庫和其他數據。 0.3.5 其他技術(第25和第26章) 本書最后一部分將討論.NET Framework最新版本中出現的幾項新技術。第25章介紹Windows Communication Foundation(WCF),它為在企業級以編程方式跨本地網絡和Interent訪問信息和功能提供了許多工具。該章將介紹如何以平臺無關的方式使用WCF,向Web應用程序和桌面應用程序公開復雜的數據和功能。 本書最后一章是第26章,介紹了Windows Workflow Foundation(WF),它允許在應用程序中執行工作流功能,因此可以定義一些操作,這些操作由外部的交互操作控制,按特定順序執行,這對許多類型的應用程序都很有幫助。 0.4 使用本書的要求 本書中C#和.NET Framework的代碼和描述都適用于C# 5和.NET 4.5。除了Framework之外,不需要其他東西就可以理解本書的這個方面,但許多示例都需要使用開發工具。本書將Visual Studio 2012作為主要開發工具,但是,如果沒有安裝此工具,可以使用免費的Visual Studio Express 2012產品系列。在本書的第I部分,可使用Visual Studio Express 2012 for Windows Desktop創建桌面和控制臺應用程序。對于其余章節,可使用Visual Studio Express 2012 for Windows 8創建Windows Store應用程序,使用Visual Studio Express for Web創建Web應用程序,并在需要訪問數據庫的應用程序中使用SQL Server Express 2012。一些功能只能在Visual Studio 2012中使用,但這不會妨礙練習本書的示例。 可從Wrox網站下載示例源代碼:www.wrox.com/remtitle.cgi?isbn=9781118314418。 0.5 本書約定 為了幫助讀者在閱讀本書的過程中獲取最多信息,并隨時了解當前處理的事項,本書使用了許多約定。
本書通過兩種方式來顯示代碼: ● 對于大多數代碼示例,使用沒有突出顯示的等寬字體來表示。 ● 對在當前上下文中特別重要的代碼,用粗體字來強調顯示。 0.6 源代碼 在讀者學習本書中的示例時,可以手工輸入所有的代碼,也可以使用本書附帶的源代碼文件。本書使用的所有源代碼都可以從本書合作站點http://www.wrox.com/或www.tupwk.com.cn/downpage上下載。登錄到站點http://www.wrox.com/,使用Search工具或使用書名列表就可以找到本書。接著單擊本書細目頁面上的Download Code鏈接,就可以獲得所有的源代碼。 提示: 由于許多圖書的標題都很類似,所以按ISBN搜索是最簡單的,本書英文版的ISBN是978-1-118-31441-8。 在下載了代碼后,只需用自己喜歡的解壓縮軟件對它進行解壓縮即可。另外,也可以進入http://www.wrox.com/dynamic/books/download.aspx上的Wrox代碼下載主頁,查看本書和其他Wrox圖書的所有代碼。 0.7 勘誤表 盡管我們已經盡了各種努力來保證文章或代碼中不出現錯誤,但是錯誤總是難免的,如果您在本書中找到了錯誤,例如拼寫錯誤或代碼錯誤,請告訴我們,我們將非常感激。通過勘誤表,可以讓其他讀者避免受挫,當然,這還有助于提供更高質量的信息。 請給wkservice@vip.163.com發電子郵件,我們就會檢查您的反饋信息,如果是正確的,我們將在本書的后續版本中采用。 要在網站上找到本書英文版的勘誤表,可以登錄http://www.wrox.com,通過Search工具或書名列表查找本書,然后在本書的細目頁面上,單擊Book Errata鏈接。在這個頁面上可以查看到Wrox編輯已提交和粘貼的所有勘誤項。完整的圖書列表還包括每本書的勘誤表,網址是www.wrox.com/misc-pages/booklist.shtml。 0.8 p2p.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上閱讀消息。如果要讓該網站給自己發送特定論壇中的消息,可以單擊論壇列表中該論壇名旁邊的Subscribe to this Forum圖標。 關于使用Wrox P2P的更多信息,可閱讀P2P FAQ,了解論壇軟件的工作情況以及P2P和Wrox圖書的許多常見問題。要閱讀FAQ,可以在任意P2P頁面上單擊FAQ鏈接。
|
內容簡介: 《C#入門經典 系列是屢獲殊榮的C#名著和超級暢銷書。最新版的 C#入門經典(第6版) 面向編程新手,全面介紹使用C# 2012和.NET Framework編寫程序的基礎知識。本書無與倫比的作者團隊與您分享多年積累的C#和.NET Framework使用經驗,首先簡明扼要地介紹這兩種技術,解釋其含義、相互關系以及使用原因,然后循序漸進地討論編程基礎知識、Web編程、桌面編程以及數據訪問技術。本書的講解詳明透徹,以通俗易懂的方式分步驟解析大量基礎性示例,為您提供了在實踐中鍛煉運用新學知識的機會。 主要內容 ◆ 介紹編程基礎知識,如變量、流程控制和面向對象編程 ◆ 著重介紹初學者在編寫C#程序時最常用的工具:Visual Studio 2012中的Visual C# 2012開發環境 ◆ 闡述調試和錯誤處理 ◆ 詳細講解集合、比較和轉換,探討C#語言的新增功能 ◆ 深入分析WPF以及其他可用于創建和部署桌面應用程序的重要技術 ◆ 探討Windows Store應用程序 ◆ 介紹ASP.NET Web編程和Web應用程序的部署 ◆ 分析文件系統數據、XML和LINQ
|
目錄:第Ⅰ部分 C# 語 言 第1 章 C#簡介 3 1.1 .NET Framework 的含義 3 1.1.1 .NET Framework 的內容 4 1.1.2 使用.NET Framework 編寫應用程序 4 1.2 C#的含義7 1.2.1 用C#能編寫什么樣的應用程序 7 1.2.2 本書中的C# 8 1.3 Visual Studio 2012 8 1.3.1 Visual Studio Express 2012產品 9 1.3.2 解決方案 9 1.4 小結 9 1.5 本章要點 10 第2 章 編寫C#程序 11 2.1 Visual Studio 2012 開發環境 12 2.2 控制臺應用程序 14 2.2.1 Solution Explorer 窗口 17 2.2.2 Properties 窗口 18 2.2.3 Error List 窗口 18 2.3 桌面應用程序 19 2.4 小結 22 2.5 本章要點 22 第3 章 變量和表達式 23 3.1 C#的基本語法 24 3.2 C#控制臺應用程序的基本結構 26 3.3 變量 27 3.3.1 簡單類型 28 3.3.2 變量的命名 31 3.3.3 字面值 33 3.3.4 變量的聲明和賦值 34 3.4 表達式 35 3.4.1 數學運算符 35 3.4.2 賦值運算符 39 3.4.3 運算符的優先級 39 3.4.4 名稱空間 40 3.5 小結 43 3.6 練習 43 3.7 本章要點 44 第4 章 流程控制 45 4.1 布爾邏輯 45 4.1.1 布爾賦值運算符 48 4.1.2 按位運算符 49 4.1.3 運算符優先級的更新 52 4.2 goto 語句 53 4.3 分支 54 4.3.1 三元運算符 54 4.3.2 if 語句 55 4.3.3 switch 語句 58 4.4 循環 61 4.4.1 do 循環 62 4.4.2 while 循環 64 4.4.3 for 循環 66 4.4.4 循環的中斷 70 4.4.5 無限循環 71 4.5 小結 72 4.6 練習 72 4.7 本章要點 73 第5 章 變量的更多內容 75 5.1 類型轉換 75 5.1.1 隱式轉換 76 5.1.2 顯式轉換 77 5.1.3 使用Convert 命令進行顯式轉換 80 5.2 復雜的變量類型 83 5.2.1 枚舉 83 5.2.2 結構 87 5.2.3 數組 89 5.3 字符串的處理 95 5.4 小結 100 5.5 練習 100 5.6 本章要點 101 第6 章 函數 103 6.1 定義和使用函數 104 6.1.1 返回值 105 6.1.2 參數 107 6.2 變量的作用域 114 6.2.1 其他結構中變量的作用域 116 6.2.2 參數和返回值與全局數據 118 6.3 Main()函數 119 6.4 結構函數 121 6.5 函數的重載 122 6.6 委托 124 6.7 小結 127 6.8 練習 127 6.9 本章要點 128 第7 章 調試和錯誤處理 129 7.1 Visual Studio 中的調試 130 7.1.1 非中斷(正常)模式下的調試 130 7.1.2 中斷模式下的調試 138 7.2 錯誤處理 145 7.2.1 try.catch.finally 146 7.2.2 列出和配置異常 150 7.2.3 異常處理的注意事項 151 7.3 小結 152 7.4 練習 152 7.5 本章要點 152 第8 章 面向對象編程簡介 155 8.1 面向對象編程的含義 156 8.1.1 對象的含義 156 8.1.2 一切皆對象 159 8.1.3 對象的生命周期 159 8.1.4 靜態和實例類成員 160 8.2 OOP 技術 161 8.2.1 接口 161 8.2.2 繼承 163 8.2.3 多態性 164 8.2.4 對象之間的關系 166 8.2.5 運算符重載 167 8.2.6 事件 167 8.2.7 引用類型和值類型 168 8.3 桌面應用程序中的OOP 168 8.4 小結 171 8.5 練習 172 8.6 本章要點 173 第9 章 定義類 175 9.1 C#中的類定義 175 9.2 System.Object 180 9.3 構造函數和析構函數 182 9.4 Visual Studio 中的OOP 工具186 9.4.1 Class View 窗口 186 9.4.2 對象瀏覽器 187 9.4.3 添加類 188 9.4.4 類圖 189 9.5 類庫項目 190 9.6 接口和抽象類 193 9.7 結構類型 195 9.8 淺度和深度復制 197 9.9 小結 198 9.10 練習 198 9.11 本章要點 199 第10 章 定義類成員 201 10.1 成員定義 201 10.1.1 定義字段 202 10.1.2 定義方法 202 10.1.3 定義屬性 203 10.1.4 在類圖中添加成員 208 10.1.5 重構成員 211 10.1.6 自動屬性 212 10.2 類成員的其他主題 212 10.2.1 隱藏基類方法 212 10.2.2 調用重寫或隱藏的基類方法 214 10.2.3 嵌套的類型定義 215 10.3 接口的實現 217 10.4 部分類定義 221 10.5 部分方法定義 222 10.6 示例應用程序 224 10.6.1 規劃應用程序 224 10.6.2 編寫類庫 224 10.6.3 類庫的客戶應用程序 231 10.7 Call Hierarchy窗口 232 10.8 小結 233 10.9 練習 233 10.10 本章要點 234 第11 章 集合、比較和轉換 235 11.1 集合 236 11.1.1 使用集合 236 11.1.2 定義集合 242 11.1.3 索引符 243 11.1.4 給CardLib 添加Cards 集合 245 11.1.5 鍵控集合和IDictionary 248 11.1.6 迭代器 250 11.1.7 迭代器和集合 254 11.1.8 深度復制 254 11.1.9 給CardLib添加深度復制 257 11.2 比較 258 11.2.1 類型比較 258 11.2.2 值比較 263 11.3 轉換 278 11.3.1 重載轉換運算符 278 11.3.2 as運算符 279 11.4 小結 280 11.5 練習 281 11.6 本章要點 282 第12 章 泛型 283 12.1 泛型的概念 284 12.2 使用泛型 285 12.2.1 可空類型 285 12.2.2 System.Collections.Generic名稱空間 292 12.3 定義泛型類型 301 12.3.1 定義泛型類 302 12.3.2 定義泛型接口 313 12.3.3 定義泛型方法 313 12.3.4 定義泛型委托 315 12.4 變體 315 12.4.1 協變 316 12.4.2 抗變 317 12.5 小結 317 12.6 練習 318 12.7 本章要點 319 第13 章 其他OOP 技術 321 13.1 ::運算符和全局名稱空間限定符 321 13.2 定制異常 323 13.3 事件 325 13.3.1 事件的含義 325 13.3.2 處理事件 326 13.3.3 定義事件 328 13.4 擴展和使用CardLib 336 13.5 特性 344 13.5.1 讀取特性 344 13.5.2 創建特性 345 13.6 小結 346 13.7 練習 347 13.8 本章要點 347 第14 章 C#語言的改進 349 14.1 初始化器 350 14.1.1 對象初始化器 350 14.1.2 集合初始化器 352 14.2 類型推理 355 14.3 匿名類型 356 14.4 動態查找 360 14.4.1 動態類型 361 14.4.2 IDynamicMetaObject-Provider 364 14.5 高級方法參數 365 14.5.1 可選參數 365 14.5.2 命名參數 367 14.5.3 命名參數和可選參數的規則 371 14.6 擴展方法 371 14.7 Lambda 表達式 375 14.7.1 復習匿名方法 375 14.7.2 把Lambda 表達式用于匿名方法 376 14.7.3 Lambda 表達式的參數 379 14.7.4 Lambda 表達式的語句體 380 14.7.5 Lambda 表達式用作委托和表達式樹 381 14.7.6 Lambda 表達式和集合 381 14.8 調用方信息特性 384 14.9 小結 386 14.10 練習 387 14.11 本章要點 388 第15 章 基本桌面編程 393 15.1 XAML 394 15.1.1 關注點分離 394 15.1.2 XAML 基礎知識 395 15.2 動手實踐 396 15.2.1 WPF 控件 397 15.2.2 屬性 398 15.2.3 事件 401 15.3 控件布局 405 15.3.1 堆疊順序 406 15.3.2 對齊、邊距、填充和尺寸 406 15.3.3 Border 控件 407 15.3.4 Canvas 控件 407 15.3.5 DockPanel 控件 408 15.3.6 StackPanel 控件 410 15.3.7 Grid 控件 412 15.4 游戲客戶端 414 15.4.1 About 窗口 414 15.4.2 Options窗口 419 15.4.3 數據綁定 427 15.4.4 啟動游戲 433 15.5 小結 436 15.6 練習 437 15.7 本章要點 437 第16 章 高級桌面編程 439 16.1 主窗口 439 16.1.1 菜單控件 440 16.1.2 路由命令和菜單 440 16.2 創建控件并設置樣式 443 16.2.1 樣式 444 16.2.2 模板 444 16.2.3 值轉換器 448 16.2.4 觸發器 450 16.2.5 動畫 451 16.3 WPF 用戶控件 453 16.4 把所有內容結合起來 462 16.4.1 重構域模型 463 16.4.2 視圖模型 467 16.4.3 大功告成 475 16.5 小結 483 16.6 練習 484 16.7 本章要點 484 第17 章 Windows Store 應用程序 485 17.1 入門 485 17.2 Windows Store 應用程序與桌面應用程序 487 17.3 開發Windows Store應用程序 488 17.3.1 視圖模式 488 17.3.2 磁貼和鎖屏提醒 492 17.3.3 應用程序的生存期 492 17.4 應用程序的開發 492 17.4.1 WPF 與Windows Store應用程序的XAML 差異 493 17.4.2 模板和頁面 494 17.4.3 沙箱應用程序 495 17.4.4 在頁面之間導航 500 17.4.5 管理狀態 503 17.5 修改KarliCards 游戲(第1 部分) 503 17.5.1 創建CardLib 項目 503 17.5.2 可視化方面的修改 511 17.5.3 轉換用戶控件 511 17.6 Windows Store 應用程序中的常見元素 518 17.6.1 AppBar 控件 518 17.6.2 設置面板 520 17.6.3 磁貼、鎖屏提醒以及初始屏幕 523 17.7 修改KarliCards 游戲(第2 部分) 524 17.8 Windows 應用商店529 17.9 小結 530 17.10 練習 530 17.11 本章要點 531 第18 章 部署桌面應用程序 533 18.1 部署概述 534 18.2 ClickOnce 部署 534 18.2.1 實現ClickOnce 部署 535 18.2.2 用ClickOnce 安裝應用程序 541 18.2.3 創建和使用應用程序的更新包 542 18.3 InstallShield Limited Edition 543 18.4 小結 549 18.5 練習 549 18.6 本章要點 549 第Ⅲ部分 Web 編 程 第19 章 ASP.NET Web 編程 553 19.1 Web 應用程序概述 554 19.2 ASP.NET 運行庫 554 19.3 創建簡單的Web頁面 555 19.4 服務器控件.562 19.5 ASP.NET 回送 563 19.6 ASP.NET AJAX 回送 568 19.7 輸入的有效性驗證 571 19.8 狀態管理 575 19.8.1 客戶端的狀態管理 576 19.8.2 服務器端的狀態管理 578 19.9 樣式 581 19.10 母版頁 585 19.11 站點導航 589 19.12 身份驗證和授權 592 19.12.1 身份驗證的配置 593 19.12.2 使用安全控件 596 19.13 讀寫SQL Server數據庫598 19.14 小結 607 19.15 練習 607 19.16 本章要點 607 第20 章 部署Web 應用程序 609 20.1 Internet Information Services 609 20.2 IIS 配置 611 20.3 復制Web 站點 612 20.4 發布Web 站點 615 20.5 小結 617 20.6 練習 618 20.7 本章要點 618 第Ⅳ部分 數 據 訪 問 第21 章 文件系統數據621 21.1 流 621 21.2 用于輸入和輸出的類 622 21.2.1 File 類和Directory 類 623 21.2.2 FileInfo 類 624 21.2.3 DirectoryInfo類 625 21.2.4 路徑名和相對路徑 626 21.2.5 FileStream對象 626 21.2.6 StreamWriter對象 632 21.2.7 StreamReader對象 634 21.2.8 異步文件訪問 641 21.2.9 讀寫壓縮文件 641 21.3 序列化對象 644 21.4 監控文件系統 648 21.5 小結 653 21.6 練習 653 21.7 本章要點 654 第22 章 XML 655 22.1 XML 文檔 656 22.1.1 XML 元素 656 22.1.2 特性 657 22.1.3 XML 聲明 657 22.1.4 XML 文檔的結構 658 22.1.5 XML 名稱空間 658 22.1.6 格式良好并有效的XML 659 22.1.7 驗證XML 文檔 660 22.2 在應用程序中使用XML.663 22.2.1 XML 文檔對象模型 663 22.2.2 選擇節點 673 22.2.3 XPath 673 22.3 小結.677 22.4 練習.677 22.5 本章要點.678 第23 章 LINQ 簡介 679 23.1 第一個LINQ 查詢680 23.1.1 用var 關鍵字聲明 結果變量 681 23.1.2 指定數據源:from 子句 682 23.1.3 指定條件:where 子句 682 23.1.4 選擇元素:select 子句 682 23.1.5 完成:使用foreach 循環 683 23.1.6 延遲執行的查詢 683 23.2 使用LINQ 方法語法.683 23.2.1 LINQ 擴展方法 683 23.2.2 查詢語法和方法語法 684 23.3 排序查詢結果685 23.4 orderby 子句687 23.5 用方法語法排序687 23.6 查詢大型數據集689 23.7 聚合運算符.691 23.8 查詢復雜的對象694 23.9 投影:在查詢中創建新對象698 23.10 投影:方法語法700 23.11 單值選擇查詢700 23.12 Any()和All()方法701 23.13 多級排序.703 23.14 多級排序方法語法:ThenBy 705 23.15 組合查詢.705 23.16 Take()和Skip()方法 707 23.17 First()和FirstOrDefault()方法 709 23.18 LINQ 集運算符 710 23.19 Join 查詢 713 23.20 小結 714 23.21 練習 714 23.22 本章要點 715 第24 章 應用LINQ717 24.1 LINQ 的變體 717 24.2 給數據庫使用LINQ 718 24.3 安裝SQL Server 和Northwind 示例數據 718 24.3.1 安裝SQL Server Express .719 24.3.2 安裝Northwind 示例數據庫719 24.4 第一個LINQ 數據庫查詢 719 24.5 瀏覽數據庫關系 723 24.6 使用LINQ to XML 725 24.7 LINQ to XML 函數構造方式 725 24.8 保存和加載XML 文檔 729 24.8.1 從字符串中加載XML 732 24.8.2 已保存的XML文檔內容 732 24.9 處理XML 片段 732 24.10 從數據庫中生成XML 734 24.11 查詢XML 文檔的方法 737 24.12 使用LINQ to XML查詢成員 738 24.12.1 Elements() 738 24.12.2 Descendants() 739 24.12.3 Attributes() 741 24.13 小結 743 24.14 練習 743 24.15 本章要點 744 第Ⅴ部分 其 他 技 術 第25 章 Windows Communication Foundation 747 25.1 WCF 的含義748 25.2 WCF 概念748 25.2.1 WCF 通信協議 749 25.2.2 地址、端點和綁定 750 25.2.3 協定 751 25.2.4 消息模式 752 25.2.5 行為 752 25.2.6 駐留 752 25.3 WCF 編程753 25.3.1 WCF 測試客戶端程序 759 25.3.2 定義WCF 服務協定 762 25.3.3 自駐留的WCF 服務 769 25.4 小結 776 25.5 練習 776 25.6 本章要點 777 第26 章 Windows Workflow Foundation 779 26.1 Hello World 779 26.2 工作流和活動781 26.2.1 If 活動 781 26.2.2 While 活動 782 26.2.3 Sequence 活動 782 26.3 實參和變量 783 26.4 定制活動 788 26.4.1 工作流擴展 790 26.4.2 活動的有效性驗證 795 26.4.3 活動設計器 796 26.5 小結 798 26.6 練習 798 26.7 本章要點 799 附錄A 習題答案 801
|
序: |