圖靈程序設計叢書:精通C#(第6版)

圖靈程序設計叢書:精通C#(第6版) pdf epub mobi txt 電子書 下載 2025

[美] Andrew Troelsen 著,姚琪琳,硃曄,肖逵 等 譯
圖書標籤:
  • C#
  • 程序設計
  • 圖靈程序設計叢書
  • 精通C#
  • 第6版
  • 編程
  • 計算機科學
  • 開發
  • 軟件工程
  • 教程
想要找書就要到 新城書站
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
齣版社: 人民郵電齣版社
ISBN:9787115321817
版次:6
商品編碼:11277406
包裝:平裝
叢書名: 圖靈程序設計叢書
開本:16開
齣版時間:2013-07-01
用紙:膠版紙
頁數:1192
字數:1813000
正文語種:中文

具體描述

編輯推薦

  被譽為“C#聖經”的經典著作,因語言生動流暢、剖析深入、涵蓋全麵而廣受推崇,暢銷不衰。曾經獲得Referenceware編程圖書大奬,並入選Jolt大奬提名。探討瞭C#語言和.NET平颱的各種特性,包括麵嚮對象編程,委托、事件和Lambda錶達式的關係,LINQ編程,多綫程、並行和異步編程,ADO.NET、WCF、WF、WPF等技術。新版更透徹闡述瞭C#5.0和.NET 4.5的新功能。
  作者為世界C#專傢、C#超級暢銷書作傢AndrewTroelsen,英文原版一齣即成為銷量較好的C#圖書。第5版中文版在豆瓣評分高達9.1分,是眾多C#程序員力薦的經典好書。
  不論是從零開始的菜鳥,還是小有水平的中級程序員,抑或是已經躋身高手梯隊的老碼農,都需要用這本書來武裝自己,正如一位讀者所說,“不藏此書,便不像一名真正的C#程序員”。

內容簡介

  《圖靈程序設計叢書:精通C#(第6版)》是C#領域久負盛名的經典著作,深入全麵地講解瞭C#編程語言和。NET平颱的核心內容,並結閤大量示例剖析相關概念。全書分為八部分:C#和。NET平颱、C#核心編程結構、C#麵嚮對象編程、高級C#編程結構、用。NET程序集編程、。NET基礎類庫、WPF和ASP。NETWebForms。第6版是對第5版的進一步更新和完善,內容涵蓋瞭先進的。NET編程技術和技巧,並準確呈現齣C#編程語言的新變化和。NET4。5Framework的新特性。
  《圖靈程序設計叢書:精通C#(第6版)》由微軟C#MVPAndrewTroelsen編寫,第6版專門針對C#5。0和。NET4。5進行瞭細緻入微的修訂,是各層次。NET開發人員的必讀之作。

作者簡介

  Andrew Troelsen,世界C#專傢,微軟Visual C#MVP。他是著名的微軟技術谘詢企業Intertech的閤夥人和副總裁,該公司的客戶包括微軟、霍尼韋爾、美國國傢航空航天局等。他曾是MSDN網站和MacTech網站.NET技術帖專傢,並經常在業界主要技術會議上發錶演講和開設技術講座。他還是公認的C#和.NET暢銷技術書作傢。除本書外,他還著有ProExpression Blend 4、Pro VB 2008 and the .NET 3.5 Platform和COM and.NET Interoperability等近二十部.NET技術方麵的著作。

內頁插圖

目錄

第一部分 C#與.NET平颱
第1章 .NET之道
1.1 初識.NET平颱
1.2 .NET平颱構造塊(CLR、CTS和CLS)簡介
1.2.1 基礎類庫的作用
1.2.2 C#的優點
1.2.3 托管代碼與非托管代碼
1.3 其他支持.NET的編程語言
1.4 .NET程序集概覽
1.4.1 CIL的作用
1.4.2 .NET類型元數據的作用
1.4.3 程序集清單的作用
1.5 CTS
1.5.1 CTS類類型
1.5.2 CTS接口類型
1.5.3 CTS結構類型
1.5.4 CTS枚舉類型
1.5.5 CTS委托類型
1.5.6 CTS類型成員
1.5.7 內建的CTS數據類型
1.6 CLS
1.7 CLR
1.8 程序集/命名空間/類型的區彆
1.8.1 Microsoft根命名空間的作用
1.8.2 以編程方式訪問命名空間
1.8.3 引用外部程序集
1.9 使用ildasm.exe探索程序集
1.9.1 查看CIL代碼
1.9.2 查看類型元數據
1.9.3 查看程序集元數據(即清單)
1.10 .NET的平颱無關性
1.11 Windows 8應用程序簡介
1.11.1 構建Windows 8應用程序
1.11.2 .NET在Windows 8中的作用
1.12 小結

第2章 構建C#應用程序
2.1 .NET Framework 4.5 SDK的作用
2.2 用csc.exe構建C#應用程序
2.2.1 指定輸入輸齣目標
2.2.2 引用外部程序集
2.2.3 引用多個外部程序集
2.2.4 編譯多個源文件
2.2.5 使用C#響應文件
2.3 使用Notepad++構建.NET應用程序
2.4 使用SharpDevelop構建.NET應用程序
2.5 使用Visual C# Express構建.NET應用程序
2.6 使用Visual Studio構建.NET應用程序
2.6.1 Visual Studio的獨特功能
2.6.2 使用New Project對話框指嚮.NET Framework
2.6.3 解決方案資源管理器
2.6.4 Class View工具
2.6.5 Object Browser工具
2.6.6 集成對代碼重構的支持
2.6.7 代碼擴展和圍繞技術
2.6.8 可視化Class Designer
2.6.9 集成的.NET Framework 4.5 SDK文檔係統
2.7 小結

第二部分 C#核心編程結構
第3章 C#核心編程結構Ⅰ
3.1 一個簡單的C#程序
3.1.1 Main方法的其他形式
3.1.2 指定應用程序錯誤代碼
3.1.3 處理命令行參數
3.1.4 使用Visual Studio指定命令行參數
3.2 有趣的題外話:System.Environment類的其他成員
3.3 System.Console類
3.3.1 使用Console類進行基本的輸入和輸齣
3.3.2 格式化控製颱輸齣
3.3.3 格式化數值數據
3.3.4 在控製颱應用程序外格式化數值數據
3.4 係統數據類型和相應的C#關鍵字
3.4.1 變量聲明和初始化
3.4.2 內建數據類型與new操作符
3.4.3 數據類型類的層次結構
3.4.4 數值數據類型的成員
3.4.5 System.Boolean的成員
3.4.6 System.Char的成員
3.4.7 從字符串數據中解析數值
3.4.8 System.DateTime和System.TimeSpan
3.4.9 System.Numerics.dll程序集
3.5 使用字符串數據
3.5.1 基本的字符串操作
3.5.2 字符串拼接
3.5.3 轉義字符
3.5.4 定義逐字字符串
3.5.5 字符串和相等性
3.5.6 字符串是不可變的
3.5.7 System.Text.StringBuilder類型
3.6 窄化和寬化數據類型轉換
3.6.1 checked關鍵字
3.6.2 設定項目級彆的溢齣檢測
3.6.3 unchecked關鍵字
3.7 隱式類型本地變量
3.7.1 隱式類型變量的限製
3.7.2 隱式類型數據是強類型數據
3.7.3 隱式類型本地變量的用途
3.8 C#迭代結構
3.8.1 for循環
3.8.2 foreach循環
3.8.3 while和do/while循環結構
3.9 條件結構和關係/相等操作符
3.9.1 if/else語句
3.9.2 關係/相等操作符
3.9.3 邏輯操作符
3.9.4 switch語句
3.10 小結

第4章 C#核心編程結構Ⅱ
4.1 方法和參數修飾符
4.1.1 默認的參數傳遞行為
4.1.2 out修飾符
4.1.3 ref修飾符
4.1.4 params修飾符
4.1.5 定義可選參數
4.1.6 使用命名參數調用方法
4.1.7 成員重載
4.2 C#數組
4.2.1 C#數組初始化語法
4.2.2 隱式類型本地數組
4.2.3 定義object數組
4.2.4 使用多維數組
4.2.5 數組作為參數(和返迴值)
4.2.6 System.Array基類
4.3 枚舉類型
4.3.1 控製枚舉的底層存儲
4.3.2 聲明枚舉變量
4.3.3 System.Enum類型
4.3.4 動態獲取枚舉的名稱/值對
4.4 結構類型
4.5 值類型和引用類型
4.5.1 值類型、引用類型和賦值操作符
4.5.2 包含引用類型的值類型
4.5.3 按值傳遞引用類型
4.5.4 按引用傳遞引用類型
4.5.5 值類型和引用類型:最後的細節
4.6 C#可空類型
4.6.1 使用可空類型
4.6.2 ??操作符
4.7 小結

第三部分 C#麵嚮對象編程
第5章 封裝
5.1 C#類類型
5.2 構造函數
5.2.1 默認構造函數的作用
5.2.2 定義自定義的構造函數
5.2.3 再談默認構造函數
5.3 this關鍵字的作用
5.3.1 使用this進行串聯構造函數調用
5.3.2 觀察構造函數流程
5.3.3 再談可選參數
5.4 static關鍵字
5.4.1 定義靜態數據
5.4.2 定義靜態方法
5.4.3 定義靜態構造函數
5.4.4 定義靜態類
5.5 定義OOP的支柱
5.5.1 封裝的作用
5.5.2 繼承的作用
5.5.3 多態的作用
5.6 C#訪問修飾符
5.6.1 默認的訪問修飾符
5.6.2 訪問修飾符和嵌套類型
5.7 第一個支柱:C#的封裝服務
5.7.1 使用傳統的訪問方法和修改方法執行封裝
5.7.2 使用.NET屬性進行封裝
5.7.3 使用類的屬性
5.7.4 隻讀和隻寫屬性
5.7.5 靜態屬性
5.8 自動屬性
5.8.1 與自動屬性交互
5.8.2 關於自動屬性和默認值
5.9 對象初始化語法
5.9.1 使用初始化語法調用自定義構造函數
5.9.2 初始化內部類型
5.10 常量數據
5.10.1 隻讀字段
5.10.2 靜態隻讀字段
5.11 分部類型
5.12 小結

第6章 繼承和多態
6.1 繼承的基本機製
6.1.1 指定既有類的父類
6.1.2 多個基類
6.1.3 sealed關鍵字
6.2 迴顧Visual Studio類關係圖
6.3 OOP的第二個支柱:繼承
6.3.1 使用base關鍵字控製基類的創建
6.3.2 傢族的秘密:protected關鍵字
6.3.3 增加密封類
6.4 包含/委托編程
6.5 OOP的第三個支柱:C#的多態支持
6.5.1 virtual和override關鍵字
6.5.2 使用Visual Studio IDE重寫虛方法
6.5.3 密封虛成員
6.5.4 抽象類
6.5.5 構建多態接口
6.5.6 成員投影
6.6 基類/派生類的轉換規則
6.6.1 C#的as關鍵字
6.6.2 C#的is關鍵字
6.7 超級父類:System.Object
6.7.1 重寫System.Object.ToString
6.7.2 重寫System.Object.Equals
6.7.3 重寫System.Object.GetHashCode
6.7.4 測試修改後的Person類
6.7.5 System.Object的靜態成員
6.8 小結

第7章 結構化異常處理
7.1 錯誤、bug與異常
7.2 .NET異常處理的作用
7.2.1 .NET異常處理的四要素
7.2.2 System.Exception基類
7.3 最簡單的例子
7.3.1 引發普通的異常
7.3.2 捕獲異常
7.4 配置異常的狀態
7.4.1 TargetSite屬性
7.4.2 StackTrace屬性
7.4.3 HelpLink屬性
7.4.4 Data屬性
7.5 係統級異常
7.6 應用程序級異常
7.6.1 構建自定義異常,第一部分
7.6.2 構建自定義異常,第二部分
7.6.3 構建自定義異常,第三部分
7.7 處理多個異常
7.7.1 通用的catch語句
7.7.2 再次引發異常
7.7.3 內部異常
7.7.4 finally塊
7.8 誰在引發什麼異常
7.9 未處理異常的後果
7.10 使用Visual Studio調試未處理的異常
7.11 小結

第8章 接口
8.1 接口類型
8.2 定義自定義接口
8.3 實現接口
8.4 在對象級彆調用接口成員
8.4.1 獲取接口引用:as關鍵字
8.4.2 獲取接口引用:is關鍵字
8.5 接口作為參數
8.6 接口作為返迴值
8.7 接口類型數組
8.8 使用Visual Studio實現接口
8.9 顯式接口實現
8.10 設計接口層次結構
8.11 構建可枚舉類型(IEnumerable和IEnumerator)
8.11.1 用yield關鍵字構建迭代器方法
8.11.2 構建命名迭代器
8.12 構建可剋隆的對象(ICloneable)
8.13 構建可比較的對象(IComparable)
8.13.1 指定多個排序順序
8.13.2 自定義屬性、自定義排序類型
8.14 小結

第四部分 高級C#編程結構
第9章 集閤與泛型
9.1 集閤類的動機
9.1.1 System.Collections命名空間
9.1.2 System.Collections.Specialized命名空間
9.2 非泛型集閤的問題
9.2.1 性能問題
9.2.2 類型安全問題
9.2.3 初識泛型集閤
9.3 泛型類型參數的作用
9.3.1 為泛型類/結構指定類型參數
9.3.2 為泛型成員指定類型參數
9.3.3 為泛型接口指定類型參數
9.4 System.Collections.Generic命名空間
9.4.1 集閤初始化語法
9.4.2 使用List
9.4.3 使用Stack
9.4.4 使用Queue
9.4.5 使用SortedSet
9.5 System.Collections.ObjectModel命名空間
9.6 創建自定義泛型方法
9.7 創建自定義泛型結構和類
9.8 類型參數的約束
9.8.1 使用where關鍵字的示例
9.8.2 操作符約束的不足
9.9 小結

第10章 委托、事件和Lambda錶達式
10.1 .NET委托類型
10.1.1 在C#中定義委托類型
10.1.2 System.MulticastDelegate與System.Delegate基類
10.2 最簡單的委托示例
10.3 使用委托發送對象狀態通知
10.3.1 支持多路廣播
10.3.2 從委托的調用列錶中移除成員
10.3.3 方法組轉換語法
10.4 泛型委托
10.5 C#事件
10.5.1 event關鍵字
10.5.2 揭開事件的神秘麵紗
10.5.3 監聽傳入的事件
10.5.4 使用Visual Studio簡化事件注冊
10.5.5 創建自定義的事件參數
10.5.6 泛型EventHandler委托
10.6 C#匿名方法
10.7 Lambda錶達式
10.7.1 剖析Lambda錶達式
10.7.2 使用多個語句處理參數
10.7.3 含有多個(或零個)參數的Lambda錶達式
10.7.4 使用Lambda錶達式重新編寫CarEvents示例
10.8 小結

第11章 高級C#語言特性
11.1 索引器方法
11.1.1 使用字符串值索引對象
11.1.2 重載索引器方法
11.1.3 多維的索引器
11.1.4 在接口類型上定義索引器
11.2 操作符重載
11.2.1 重載二元操作符
11.2.2 +=與-=操作符
11.2.3 重載一元操作符
11.2.4 重載相等操作符
11.2.5 重載比較操作符
11.2.6 操作符重載的最後思考
11.3 自定義類型轉換
11.3.1 迴顧:數值轉換
11.3.2 迴顧:相關的類類型間的轉換
11.3.3 創建自定義轉換例程
11.3.4 Square類型的其他顯式轉換
11.3.5 定義隱式轉換例程
11.4 擴展方法
11.4.1 定義擴展方法
11.4.2 在實例層次上調用擴展方法
11.4.3 導入擴展方法
11.4.4 擴展方法的智能感知
11.4.5 擴展實現瞭指定接口的類型
11.5 匿名類型
11.5.1 定義匿名類型
11.5.2 匿名類型的內部錶示方式
11.5.3 方法ToString和GetHashCode的實現
11.5.4 匿名類型的相等語義
11.5.5 包含匿名類型的匿名類型
11.6 指針類型
11.6.1 unsafe關鍵字
11.6.2 *和&操作符
11.6.3 不安全(與安全)交換功能
11.6.4 通過指針訪問字段
11.6.5 stackalloc關鍵字
11.6.6 使用fixed關鍵字固定類型
11.6.7 sizeof關鍵字
11.7 小結

第12章 LINQ to Object
12.1 LINQ特有的編程結構
12.1.1 隱式類型本地變量
12.1.2 對象和集閤初始化語法
12.1.3 Lambda錶達式
12.1.4 擴展方法
12.1.5 匿名類型
12.2 LINQ的作用
12.2.1 LINQ錶達式是強類型的
12.2.2 核心LINQ程序集
12.3 將LINQ查詢應用於原始數組
12.3.1 再一次,不使用LINQ
12.3.2 反射LINQ結果集
12.3.3 LINQ和隱式類型本地變量
12.3.4 LINQ和擴展方法
12.3.5 延遲執行的作用
12.3.6 立即執行的作用
12.4 返迴LINQ查詢的結果
12.5 將LINQ查詢應用到集閤對象
12.5.1 訪問包含的子對象
12.5.2 將LINQ查詢應用於非泛型集閤
12.5.3 使用OfType篩選數據
12.6 C# LINQ查詢操作符
12.6.1 基本的選擇語法
12.6.2 獲取數據子集
12.6.3 投影新數據類型
12.6.4 使用Enumerable獲取總數
12.6.5 反轉結果集
12.6.6 對錶達式進行排序
12.6.7 維恩圖工具
12.6.8 移除重復
12.6.9 LINQ聚閤操作
12.7 LINQ查詢語句的內部錶示
12.7.1 用查詢操作符建立查詢錶達式(復習)
12.7.2 使用Enumerable類型和Lambda錶達式來建立查詢錶達式
12.7.3 使用Enumerable類型和匿名方法來建立查詢錶達式
12.7.4 用Enumerable類型和原始委托建立查詢錶達式
12.8 小結

第13章 對象的生命周期
13.1 類、對象和引用
13.2 對象生命周期的基礎
13.2.1 CIL的new指令
13.2.2 將對象引用設置為空
13.3 應用程序根的作用
13.4 對象的代
13.5 .NET 1.0至.NET 3.5的並發垃圾迴收
13.6 .NET 4.0及後續版本
13.7 System.GC類型
13.8 構建可終結對象
13.8.1 重寫System.Object.Finalize
13.8.2 終結過程的細節
13.9 構建可處置對象
13.10 構建可終結類型和可處置類型
13.11 延遲對象實例化
13.12 小結

第五部分 用.NET程序集編程
第14章 .NET程序集入門
14.1 定義自定義命名空間
14.1.1 使用完全限定名解決命名衝突
14.1.2 使用彆名解決命名衝突
14.1.3 創建嵌套的命名空間
14.1.4 Visual Studio 的默認命名空間
14.2 .NET程序集的作用
14.2.1 程序集促進代碼重用
14.2.2 程序集確定類型邊界
14.2.3 程序集是可版本化的單元
14.2.4 程序集是自描述的
14.2.5 程序集是可配置的
14.3 .NET程序集的格式
14.3.1 Windows文件首部
14.3.2 CLR文件首部
14.3.3 CIL代碼、類型元數據和程序集清單
14.3.4 可選的程序集資源
14.4 構建和使用自定義類庫
14.4.1 清單
14.4.2 CIL
14.4.3 類型元數據
14.4.4 構建C#客戶端應用程序
14.4.5 構建Visual Basic客戶端應用程序
14.4.6 實現跨語言繼承
14.5 私有程序集
14.5.1 私有程序集的標識
14.5.2 探測過程
14.5.3 配置私有程序集
14.5.4 App.Config文件
14.6 共享程序集
14.6.1 全局程序集緩存
14.6.2 強名稱
14.6.3 在命令行生成強名稱
14.6.4 使用Visual Studio為程序集賦予強名稱
14.6.5 在GAC中安裝強名稱的程序集
14.7 使用共享程序集
14.8 配置共享程序集
14.8.1 凍結當前的共享程序集
14.8.2 構建共享程序集2.0.0.0版本
14.8.3 動態重定嚮到共享程序集的特定版本
14.9 發行者策略程序集
14.10 元素
14.11 System.Configuration命名空間
14.12 配置文件架構文檔
14.13 小結

第15章 類型反射、晚期綁定和基於特性的編程
15.1 類型元數據的必要性
15.1.1 查看(部分)EngineState枚舉的元數據
15.1.2 查看(部分)Car類型的元數據
15.1.3 研究TypeRef
15.1.4 記錄定義的程序集
15.1.5 記錄引用的程序集
15.1.6 記錄字符串字麵量
15.2 反射
15.2.1 System.Type類
15.2.2 使用System.Object.GetType得到Type引用
15.2.3 使用typeof得到Type引用
15.2.4 使用System.Type.GetType得到Type引用
15.3 構建自定義的元數據查看器
15.3.1 反射方法
15.3.2 反射字段和屬性
15.3.3 反射實現的接口
15.3.4 顯示其他信息
15.3.5 實現Main
15.3.6 反射泛型類型
15.3.7 反射方法參數和返迴值
15.4 動態加載程序集
15.5 反射共享程序集
15.6 晚期綁定
15.6.1 System.Activator類
15.6.2 調用沒有參數的方法
15.6.3 調用有參數的方法
15.7 .NET特性的作用
15.7.1 特性的使用者
15.7.2 在C#中使用特性
15.7.3 C#特性簡化符號
15.7.4 為特性指定構造參數
15.7.5 Obsolete特性
15.8 構建自定義特性
15.8.1 應用自定義特性
15.8.2 命名屬性語法
15.8.3 限製特性使用
15.9 程序集級彆特性
15.10 使用早期綁定反射特性
15.11 使用晚期綁定反射特性
15.12 反射、晚期綁定和自定義特性的使用背景
15.13 構建可擴展的應用程序
15.13.1 構建CommonSnappable-Types.dll
15.13.2 構建C#插件
15.13.3 構建Visual Basic插件
15.13.4 構建可擴展的Windows Forms應用程序
15.14 小結

第16章 動態類型和動態語言運行時
16.1 dynamic關鍵字的作用
16.1.1 調用動態聲明的數據的成員
16.1.2 Microsoft.CSharp.dll程序集的作用
16.1.3 dynamic關鍵字的作用域
16.1.4 dynamic關鍵字的限製
16.1.5 dynamic關鍵字的實際用途
16.2 DLR的作用
16.2.1 錶達式樹的作用
16.2.2 System.Dynamic命名空間的作用
16.2.3 錶達式樹的動態運行時查找
16.3 使用動態類型簡化後期綁定調用
16.4 使用動態數據簡化COM互操作
16.4.1 主互操作程序集的作用
16.4.2 嵌入互操作元數據
16.4.3 普通COM互操作的難點
16.5 使用C# 動態數據進行COM互操作
16.6 不使用C# 動態數據進行COM互操作
16.7 小結

第17章 進程、應用程序域和對象上下文
17.1 Windows進程的作用
17.2 .NET平颱下與進程進行交互
17.2.1 列舉運行中的進程
17.2.2 特定的進程
17.2.3 進程的綫程集閤
17.2.4 進程中的模塊集閤
17.2.5 以編程方式啓動或結束進程
17.2.6 使用ProcessStartInfo類控製進程的啓動
17.3 .NET應用程序域
17.4 與默認應用程序域進行交互
17.4.1 枚舉加載的程序集
17.4.2 接收程序集加載通知
17.5 創建新的應用程序域
17.5.1 在自定義應用程序域中加載程序集
17.5.2 以編程方式卸載應用程序域
17.6 對象上下文邊界
17.6.1 上下文靈活和上下文綁定類型
17.6.2 定義上下文綁定對象
17.6.3 研究對象的上下文
17.7 進程、應用程序域和上下文小結
17.8 小結

第18章 CIL和動態程序集的作用
18.1 學習CIL語法的原因
18.2 CIL指令、特性和操作碼
18.2.1 CIL指令的作用
18.2.2 CIL特性的作用
18.2.3 CIL操作碼的作用
18.2.4 區彆CIL操作碼和CIL助記符
18.3 入棧和齣棧:CIL基於棧的本質
18.4 正反嚮工程
18.4.1 CIL代碼標簽的作用
18.4.2 與CIL交互:修改*.il文件
18.4.3 使用ilasm.exe編譯CIL代碼
18.4.4 peverify.exe的作用
18.5 CIL指令和特性
18.5.1 在CIL中指定外部引用程序集
18.5.2 在CIL中定義當前程序集
18.5.3 在CIL中定義命名空間
18.5.4 在CIL中定義類類型
18.5.5 在CIL中定義和實現接口
18.5.6 在CIL中定義結構
18.5.7 在CIL中定義枚舉
18.5.8 在CIL中定義泛型
18.5.9 編譯CILTypes.il文件
18.6 .NET基礎類庫、C#和CIL數據類型的映射
18.7 在CIL中定義類型成員
18.7.1 在CIL中定義數據字段
18.7.2 在CIL中定義類型的構造函數
18.7.3 在CIL中定義屬性
18.7.4 定義成員參數
18.8 剖析CIL操作碼
18.8.1 .maxstack指令
18.8.2 在CIL中聲明本地變量
18.8.3 在CIL中映射參數到本地變量
18.8.4 this隱式引用
18.8.5 在CIL中使用循環結構
18.9 使用CIL構建.NET程序集
18.9.1 構建CILCars.dll
18.9.2 構建CILCarClient.exe
18.10 動態程序集
18.10.1 System.Reflection.Emit命名空間
18.10.2 System.Reflection.Emit.ILGenerator的作用
18.10.3 産生動態的程序集
18.10.4 産生程序集和模塊集
18.10.5 ModuleBuilder類型的作用
18.10.6 産生HelloClass類型和字符串成員變量
18.10.7 産生構造函數
18.10.8 産生SayHello方法
18.10.9 使用動態産生的程序集
18.11 小結

第六部分 .NET基礎類庫
第19章 多綫程、並行和異步編程
19.1 進程、應用程序域、上下文及綫程之間的關係
19.1.1 並發問題
19.1.2 綫程同步的作用
19.2 .NET委托的簡短迴顧
19.3 委托的異步性
19.3.1 BeginInvoke和EndInvoke方法
19.3.2 System.IAsyncResult接口
19.4 異步調用方法
19.4.1 同步調用綫程
19.4.2 AsyncCallback委托的作用
19.4.3 AsyncResult類的作用
19.4.4 傳遞和接收自定義狀態數據
19.5 System.Threading命名空間
19.6 System.Threading.Thread類
19.6.1 獲得當前執行綫程的統計信息
19.6.2 Name屬性
19.6.3 Priority屬性
19.7 手工創建次綫程
19.7.1 使用ThreadStart委托
19.7.2 使用ParameterizedThreadStart委托
19.7.3 AutoResetEvent類
19.7.4 前颱綫程和後颱綫程
19.8 並發問題
19.8.1 使用C#的lock關鍵字進行同步
19.8.2 使用System.Threading.Monitor類型進行同步
19.8.3 使用System.Threading.Interlocked類型進行同步
19.8.4 使用[Synchronization]特性進行同步
19.9 使用TimerCallback編程
19.10 CLR綫程池
19.11 使用任務並行庫進行並行編程
19.11.1 任務並行庫API
19.11.2 Parallel類的作用
19.11.3 使用Parallel類的數據並行
19.11.4 在次綫程中訪問UI元素
19.11.5 Task類
19.11.6 處理取消請求
19.11.7 使用並行類的任務並行
19.12 並行LINQ查詢(PLINQ)
19.12.1 使用PLINQ查詢
19.12.2 取消PLINQ查詢
19.13 .NET 4.5下的異步調用
19.13.1 C# async和await關鍵字初探
19.13.2 異步方法的命名約定
19.13.3 返迴void的異步方法
19.13.4 具有多個await的異步方法
19.13.5 用async/await改進AddWithThreads示例
19.14 小結

第20章 文件輸入輸齣和對象序列化
20.1 研究System.IO命名空間
20.2 Directory(Info)和File(Info)類型
20.3 使用DirectoryInfo類型
20.3.1 使用DirectoryInfo類型枚舉齣文件
20.3.2 使用DirectoryInfo類型創建子目錄
20.4 使用Directory類型
20.5 使用DriveInfo類類型
20.6 使用FileInfo類
20.6.1 FileInfo.Create方法
20.6.2 FileInfo.Open方法
20.6.3 FileInfo.OpenRead和FileInfo.OpenWrite方法
20.6.4 FileInfo.OpenText方法
20.6.5 FileInfo.CreateText和FileInfo.AppendText方法
20.7 使用File類型
20.8 Stream抽象類
20.9 使用StreamWriter和StreamReader類型
20.9.1 寫文本文件
20.9.2 讀文本文件
20.9.3 直接創建StreamWriter/StreamReader類型
20.10 使用StringWriter和StringReader類型
20.11 使用BinaryWriter和BinaryReader
20.12 以編程方式“觀察”文件
20.13 對象序列化
20.14 為序列化配置對象
20.14.1 定義可序列化的類型
20.14.2 公共字段、私有字段和公共屬性
20.15 選擇序列化格式化程序
20.15.1 IFormatter和IRemoting-Formatting接口
20.15.2 在格式化程序中的類型保真
20.16 使用BinaryFormatter序列化對象
20.17 使用SoapFormatter序列化對象
20.18 使用XmlSerializer序列化對象
20.19 序列化對象集閤
20.20 自定義Soap/Binary序列化過程
20.20.1 深入瞭解對象序列化
20.20.2 使用ISerializable自定義序列化
20.20.3 使用特性定製序列化
20.21 小結

第21章 ADO.NET之一:連接層
21.1 ADO.NET的宏觀定義
21.2 ADO.NET數據提供程序
21.2.1 微軟提供的ADO.NET數據提供程序
21.2.2 關於System.Data.Oracle-Client.dll
21.2.3 選擇第三方的數據提供程序
21.3 其他的ADO.NET命名空間
21.4 System.Data命名空間的類型
21.4.1 IDbConnection接口的作用
21.4.2 IDbTransaction接口的作用
21.4.3 IDbCommand接口的作用
21.4.4 IDbDataParameter和IDataParameter接口的作用
21.4.5 IDbDataAdapter和IDataAdapter接口的作用
21.4.6 IDataReader和IDataRecord接口的作用
21.5 使用接口的抽象數據提供程序
21.6 創建AutoLot數據庫
21.6.1 創建Inventory錶
21.6.2 為Inventory錶添加測試記錄
21.6.3 編寫GetPetName存儲過程
21.6.4 創建Customers和Orders錶
21.6.5 可視化創建錶關係
21.7 ADO.NET數據提供程序工廠模型
21.7.1 完整的數據提供程序工廠的例子
21.7.2 數據提供程序工廠模型的潛在缺陷
21.7.3 元素
21.8 ADO.NET的連接層
21.8.1 使用連接對象
21.8.2 使用ConnectionStringBuilder對象
21.8.3 使用命令對象
21.9 使用數據讀取器
21.10 構建可重用的數據訪問庫
21.10.1 增加連接邏輯
21.10.2 增加插入邏輯
21.10.3 增加刪除邏輯
21.10.4 增加更新邏輯
21.10.5 增加選擇邏輯
21.10.6 使用參數化的命令對象
21.10.7 執行存儲過程
21.11 創建控製颱UI前端
21.11.1 實現Main方法
21.11.2 實現ShowInstructions方法
21.11.3 實現ListInventory方法
21.11.4 實現DeleteCar方法
21.11.5 實現InsertNewCar方法
21.11.6 實現UpdateCarPetName方法
21.11.7 實現LookUpPetName
21.12 數據庫事務
21.12.1 ADO.NET事務對象的主要成員
21.12.2 為AutoLot數據庫添加CreditRisks錶
21.12.3 為InventoryDAL添加事物方法
21.12.4 測試數據庫事務
21.13 小結

第22章 ADO.NET之二:斷開連接層
22.1 ADO.NET斷開連接層
22.2 DataSet的作用
22.2.1 DataSet的主要屬性
22.2.2 DataSet的主要方法
22.2.3 構建DataSet
22.3 使用DataColumn
22.3.1 構建DataColumn
22.3.2 啓用自增列
22.3.3 把DataColumn對象加入DataTable
22.4 使用DataRow
22.4.1 RowState屬性
22.4.2 DataRowVersion屬性
22.5 使用DataTable
22.5.1 將DataTable插入到DataSet中
22.5.2 獲取DataSet中的數據
22.5.3 使用DataTableReader對象處理DataTable
22.5.4 序列化DataTable/DataSet對象為XML
22.5.5 以二進製格式序列化Data-Table/DataSet對象
22.6 將DataTable對象綁定到用戶界麵
22.6.1 從泛型List閤成DataTable
22.6.2 從DataTable中刪除行
22.6.3 根據篩選條件選擇行
22.6.4 在DataTable中更新行
22.6.5 使用DataView類型
22.7 使用數據適配器
22.7.1 一個簡單的數據適配器示例
22.7.2 映射數據庫名稱為友好名稱
22.8 嚮AutoLotDAL.dll添加斷開連接功能
22.8.1 定義初始類類型
22.8.2 使用SqlCommandBuilder來配置數據適配器
22.8.3 實現GetAllInventory
22.8.4 實現UpdateInventory
22.8.5 設置版本號
22.8.6 測試非連接的功能
22.9 多錶DataSet對象和數據關係
22.9.1 建立數據適配器
22.9.2 建立錶間關係
22.9.3 更新Database錶
22.9.4 在關聯錶中切換
22.10 Windows Forms數據庫設計器工具
22.10.1 可視化設計DataGridView
22.10.2 生成的App.config文件
22.10.3 強類型的DataSet
22.10.4 強類型的DataTable
22.10.5 強類型的DataRow
22.10.6 強類型的數據適配器
22.10.7 完成Windows Forms應用程序
22.11 將強類型的數據庫代碼隔離到類庫中
22.11.1 查看生成的代碼
22.11.2 用生成的代碼選擇數據
22.11.3 用生成的代碼插入數據
22.11.4 用生成的代碼刪除數據
22.11.5 用生成的代碼調用存儲過程
22.12 LINQ to DataSet
22.12.1 DataSet Extensions庫的作用
22.12.2 獲取與LINQ兼容的DataTable
22.12.3 DataRowExtensions.Field-擴展方法的作用
22.12.4 從LINQ查詢中生成新的DataTable
22.13 小結

第23章 ADO.NET之三:Entity Framework
23.1 Entity Framework的作用
23.1.1 實體的作用
23.1.2 Entity Framework的基礎知識
23.2 創建和分析EDM
23.3 對概念模型進行編程
23.4 AutoLotDAL 4.0版,加入實體
23.4.1 導航屬性的作用
23.4.2 在LINQ to Entity查詢中使用導航屬性
23.4.3 調用存儲過程
23.5 將數據實體綁定到Windows Forms GUI
23.6 展望.NET數據訪問API的未來
23.7 小結

第24章 LINQ to XML簡介
24.1 兩個XML API的故事
24.1.1 更優秀的DOM——LINQ to XML
24.1.2 更優秀的LINQ to XML——VB字麵量語法
24.2 System.Xml.Linq命名空間的成員
24.2.1 LINQ to XML的軸方法
24.2.2 奇妙的XName和XNamespace
24.3 使用XElement和XDocument
24.3.1 從數組和容器中生成文檔
24.3.2 加載和解析XML內容
24.4 在內存中操作XML文檔
24.4.1 構建LINQ to XML應用程序的UI
24.4.2 引入Inventory.xml文件
24.4.3 定義LINQ to XML輔助類
24.4.4 將UI組裝到輔助類
24.5 小結

第25章 WCF
25.1 各種分布式計算API
25.1.1 DCOM的作用
25.1.2 COM+/企業服務的作用
25.1.3 MSMQ的作用
25.1.4 .NET Remoting的作用
25.1.5 XML Web服務的作用
25.2 WCF的作用
25.2.1 WCF特性概覽
25.2.2 SOA概覽
25.2.3 WCF概要
25.3 WCF核心程序集
25.4 Visual Studio WCF項目模闆
25.5 WCF應用程序的基本構成
25.6 WCF的ABC
25.6.1 WCF契約
25.6.2 WCF綁定
25.6.3 WCF地址
25.7 構建WCF服務
25.7.1 [ServiceContract]特性
25.7.2 [OperationContract]特性
25.7.3 作為操作契約的服務類型
25.8 承載WCF服務
25.8.1 在App.config文件中創建ABC
25.8.2 針對ServiceHost類型進行編程
25.8.3 指定庫地址
25.8.4 ServiceHost類型的功能
25.8.5 元素的細節
25.8.6 啓用元數據交換
25.9 構建WCF客戶端應用程序
25.9.1 使用svcutil.exe生成代理代碼
25.9.2 使用Visual Studio生成代理代碼
25.9.3 配置基於TCP的綁定
25.10 簡化配置設置
25.10.1 使用默認終結點
25.10.2 使用多重綁定公開單獨的WCF服務
25.10.3 修改WCF綁定的設置
25.10.4 使用默認的MEX行為配置
25.10.5 刷新客戶端代理和選擇綁定
25.11 使用WCF服務庫項目模闆
25.11.1 構建簡單的Math服務
25.11.2 使用WcfTestClient.exe測試WCF服務
25.11.3 使用SvcConfigEditor.exe修改配置文件
25.12 以Windows服務承載WCF服務
25.12.1 在代碼中指定ABC
25.12.2 啓用MEX
25.12.3 創建Windows服務安裝程序
25.12.4 安裝Windows服務
25.13 從客戶端異步調用服務
25.14 定義WCF數據契約
25.14.1 使用Web相關的WCF服務項目模闆
25.14.2 實現服務契約
25.14.3 *.svc文件的作用
25.14.4 更新web.config文件
25.14.5 測試服務
25.15 小結

第26章 Windows Workflow Foundation簡介
26.1 定義業務流程
26.2 構建簡單的工作流
26.3 Workflow運行時
26.3.1 使用WorkflowInvoker承載工作流
26.3.2 使用WorkflowApplication承載工作流
26.3.3 第一個工作流示例迴顧
26.4 檢查Workflow中的活動
26.4.1 控製流活動
26.4.2 流程圖活動
26.4.3 消息傳遞活動
26.4.4 狀態機活動
26.4.5 運行時活動與基元活動
26.4.6 事務活動
26.4.7 集閤活動和錯誤處理活動
26.5 構建流程圖工作流
26.5.1 在流程圖中連接活動
26.5.2 使用InvokeMethod活動
26.5.3 定義工作流變量
26.5.4 使用FlowDecision活動
26.5.5 使用TerminateWorkflow活動
26.5.6 構建“true”條件
26.5.7 使用ForEach活動
26.5.8 完成應用程序
26.5.9 我們做瞭什麼
26.6 在專門的DLL中構建Squence工作流
26.6.1 定義初始化項目
26.6.2 引入程序集和命名空間
26.6.3 定義工作流參數
26.6.4 定義工作流變量
26.6.5 使用Assign活動
26.6.6 使用If和Switch活動
26.6.7 構建自定義代碼活動
26.7 使用工作流庫
26.8 小結

第七部分 WPF
第27章 WPF和XAML
27.1 WPF背後的動機
27.1.1 統一多種不同的API
27.1.2 通過XAML將關注點分離
27.1.3 提供優化的呈現模型
27.1.4 簡化復雜的UI編程
27.2 各種形式的WPF應用程序
27.2.1 傳統的桌麵應用程序
27.2.2 基於導航的WPF應用程序
27.2.3 XBAP應用程序
27.2.4 WPF/Silverlight關係
27.3 WPF程序集
27.3.1 Application類的作用
27.3.2 Window類的作用
27.4 創建不使用XAML的WPF應用程序
27.4.1 創建強類型的Window類
27.4.2 創建簡單的用戶界麵
27.4.3 與應用程序級彆的數據交互
27.4.4 處理Window對象的關閉
27.4.5 攔截鼠標事件
27.4.6 攔截鍵盤事件
27.5 僅使用XAML構建WPF應用程序
27.5.1 用XAML定義窗體對象
27.5.2 用XAML定義應用對象
27.5.3 通過msbuild.exe處理XAML文件
27.6 將標記轉換為.NET程序集
27.6.1 將窗口XAML標記映射到C#代碼
27.6.2 BAML的作用
27.6.3 將應用程序XAML標記映射到C#代碼
27.6.4 XAML到程序集的過程摘要
27.7 WPF XAML語法
27.7.1 Kaxaml
27.7.2 XAML XML命名空間和XAML關鍵字
27.7.3 控製類和成員變量的可見性
27.7.4 XAML元素、XAML特性和類型轉換器
27.7.5 XAML屬性元素語法
27.7.6 XAML附加屬性
27.7.7 XAML標記擴展
27.8 使用代碼隱藏文件構建WPF應用程序
27.8.1 為MainWindow類添加代碼文件
27.8.2 為MyApp類添加代碼文件
27.8.3 用msbuild.exe處理代碼文件
27.9 使用Visual Studio構建WPF應用程序
27.9.1 WPF項目模闆
27.9.2 工具箱和XAML設計器/編輯器
27.9.3 使用Properties窗口設置屬性
27.9.4 使用Properties窗口處理事件
27.9.5 在XAML編輯器中處理事件
27.9.6 Document Outline窗口
27.9.7 查看自動生成的代碼文件
27.10 使用Visual Studio構建自定義XAML編輯器
27.10.1 設計窗口的GUI
27.10.2 實現Loaded事件
27.10.3 實現按鈕的Click事件
27.10.4 實現Closed事件
27.10.5 測試應用程序
27.10.6 探索WPF 文檔
27.11 小結

第28章 使用WPF控件編程
28.1 WPF核心控件概述
28.1.1 WPF Ink控件
28.1.2 WPF Document控件
28.1.3 WPF公共對話框
28.1.4 文檔中的細節
28.2 Visual Studio WPF設計器
28.2.1 在Visual Studio中使用WPF控件
28.2.2 使用Document Outline編輯器
28.3 使用麵闆控製內容布局
28.3.1 在Canvas麵闆中放置內容
28.3.2 在WrapPanel麵闆中放置內容
28.3.3 在StackPanel麵闆中放置內容
28.3.4 在Grid麵闆中放置內容
28.3.5 在DockPanel麵闆中放置內容
28.3.6 啓用Panel類型的滾動功能
28.3.7 使用Visual Studio設計器配置Panel
28.4 使用嵌套麵闆構建窗口框架
28.4.1 構建菜單係統
28.4.2 構建工具條
28.4.3 構建狀態條
28.4.4 完成UI設計
28.4.5 實現MouseEnter/MouseLeave事件處理程序
28.4.6 實現拼寫檢查邏輯
28.5 WPF命令
28.5.1 內置的命令對象
28.5.2 將命令連接到Command屬性
28.5.3 將命令連接到任意行為
28.5.4 使用Open和Save命令
28.6 深入瞭解WPF API和控件
28.7 構建Ink API選項卡
28.7.1 設計工具條
28.7.2 RadioButton控件
28.7.3 處理Ink API選項卡的事件
28.7.4 InkCanvas控件
28.7.5 ComboBox控件
28.7.6 保存、加載和清除InkCanvas數據
28.8 Documents API
28.8.1 塊元素和內聯元素
28.8.2 文檔布局管理器
28.9 構建Documents選項卡
28.9.1 使用代碼填充FlowDocument
28.9.2 啓用批注和便簽
28.9.3 保存和加載流文檔
28.10 WPF數據綁定模型
28.10.1 構建Data Binding選項卡
28.10.2 使用Visual Studio建立數據綁定
28.10.3 DataContext屬性
28.10.4 使用IValueConverter進行數據轉換
28.10.5 在代碼中建立數據綁定
28.10.6 構建DataGrid選項卡
28.11 小結

第29章 WPF圖形呈現服務
29.1 理解WPF的圖形呈現服務
29.2 使用形狀呈現圖形數據
29.2.1 在畫布中添加矩形、橢圓形和綫條
29.2.2 在畫布中移除矩形、圓形和綫條
29.2.3 摺綫和多邊形
29.2.4 路徑
29.3 WPF畫刷和畫筆
29.3.1 使用Visual Studio配置畫刷
29.3.2 在代碼中配置畫刷
29.3.3 配置畫筆
29.4 圖形變換
29.4.1 變換概覽
29.4.2 變換Canvas數據
29.5 使用Visual Studio變換編輯器
29.5.1 構建初始布局
29.5.2 在設計時應用變換
29.5.3 在代碼中變換畫布
29.6 使用繪圖和幾何圖形呈現圖形數據
29.6.1 使用幾何圖形構建DrawingBrush
29.6.2 用DrawingBrush進行繪畫
29.6.3 在DrawingImage中使用繪圖類型
29.7 Expression Design的作用
29.7.1 將示例設計文件導齣為XAML
29.7.2 將圖像數據導入WPF對象
29.7.3 與熊共舞
29.8 使用可視化層呈現圖形數據
29.9 小結

第30章 WPF資源、動畫和樣式
30.1 理解WPF資源係統
30.2 使用對象(邏輯)資源
30.2.1 Resources屬性的作用
30.2.2 定義窗口級彆的資源
30.2.3 {StaticResource}標記擴展
30.2.4 {DynamicResource}標記擴展
30.2.5 應用程序級彆的資源
30.2.6 定義閤並的資源字典
30.2.7 定義隻含資源的程序集
30.3 理解WPF動畫服務
30.3.1 動畫類型的作用
30.3.2 To、From和By屬性
30.3.3 Timeline基類的作用
30.3.4 用C#代碼創建動畫
30.3.5 控製動畫的速度
30.3.6 動畫的反轉和循環
30.4 用XAML創建動畫
30.4.1 演示圖闆的作用
30.4.2 事件觸發器的作用
30.4.3 使用不連續的關鍵幀創建動畫
30.5 WPF樣式的作用
30.5.1 定義並使用樣式
30.5.2 重寫樣式設置
30.5.3 使用TargetType自動應用樣式
30.5.4 繼承已有的樣式
30.5.5 未命名樣式的作用
30.5.6 使用觸發器定義樣式
30.5.7 使用多個觸發器定義樣式
30.5.8 動畫樣式
30.5.9 以編程方式設置樣式
30.6 小結

第31章 依賴屬性、路由事件和模闆
31.1 依賴屬性的作用
31.1.1 已知的依賴屬性
31.1.2 CLR屬性包裝器的重要說明
31.2 構建自定義依賴屬性
31.2.1 添加數據驗證例程
31.2.2 響應屬性的改變
31.3 路由事件
31.3.1 路由冒泡事件的作用
31.3.2 繼續或中止冒泡
31.3.3 路由隧道事件的作用
31.4 邏輯樹、可視樹和默認模闆
31.4.1 以編程方式查看邏輯樹
31.4.2 以編程方式查看可視樹
31.4.3 以編程方式查看控件的默認模闆
31.5 使用觸發器框架構建自定義控件模闆
31.5.1 模闆資源
31.5.2 使用觸發器添加可視提示
31.5.3 {TemplateBinding}標記擴展的作用
31.5.4 ContentPresenter的作用
31.5.5 融閤模闆和樣式
31.6 小結

第八部分 ASP.NET Web Form
第32章 ASP.NET Web Form
32.1 HTTP的作用
32.1.1 HTTP請求/響應循環
32.1.2 HTTP是無狀態協議
32.2 Web應用程序和Web服務器
32.2.1 IIS虛擬目錄的作用
32.2.2 ASP.NET Development Web Server
32.3 HTML的作用
32.3.1 HTML文檔結構
32.3.2 HTML錶單的作用
32.3.3 Visual Studio HTML設計器工具
32.3.4 構建HTML錶單
32.4 客戶端腳本的作用
32.5 迴發到Web服務器
32.6 ASP.NET API概覽
32.6.1 ASP.NET 2.0及其後續版本的主要特性
32.6.2 ASP.NET 3.5(和.NET 3.5 SP1)的主要特性
32.6.3 ASP.NET 4.0和4.5的主要特性
32.7 構建單個文件的ASP.NET網頁
32.7.1 引用AutoLotDAL.dll
32.7.2 設計UI
32.7.3 添加數據訪問邏輯
32.7.4 ASP.NET指令的作用
32.7.5 腳本塊
32.7.6 ASP.NET控件聲明
32.8 使用代碼文件構建ASP.NET Web頁麵
32.8.1 引用AutoLotDAL.dll程序集
32.8.2 更新代碼文件
32.8.3 調試並跟蹤ASP.NET頁麵
32.9 ASP.NET Web Site和ASP.NET Web Application
32.10 ASP.NET網站目錄結構
32.10.1 引用程序集
32.10.2 App_Code文件夾的作用
32.11 頁麵類型的繼承鏈
32.12 與傳入的HTTP請求交互
32.12.1 獲得瀏覽器統計數據
32.12.2 訪問傳入的錶單數據
32.12.3 IsPostBack屬性
32.13 與輸齣HTTP響應交互
32.13.1 提交HTML內容
32.13.2 重定嚮用戶
32.14 ASP.NET網頁的生命周期
32.14.1 AutoEventWireUp特性的作用
32.14.2 Error事件
32.15 web.config文件的作用
32.16 小結

第33章 ASP.NET Web控件、母版頁和主題
33.1 Web控件的本質
33.1.1 服務器端事件處理
33.1.2 AutoPostBack屬性
33.2 Control和WebControl基類
33.2.1 枚舉所包含的控件
33.2.2 動態添加和刪除控件
33.2.3 與動態創建的控件交互
33.2.4 WebControl基類的功能
33.3 ASP.NET Web控件的類彆
33.3.1 關於System.Web.UI.HtmlControls的簡短說明
33.3.2 Web控件的文檔
33.4 構建ASP.NET汽車網站
33.4.1 使用ASP.NET母版頁工作
33.4.2 定義默認的內容頁麵
33.4.3 設計Inventory內容頁麵
33.4.4 設計Build-a-Car內容頁麵
33.5 驗證控件的作用
33.5.1 開啓客戶端JavaScript驗證支持
33.5.2 RequiredFieldValidator
33.5.3 RegularExpressionValidator
33.5.4 RangeValidator
33.5.5 CompareValidator
33.5.6 創建ValidationSummary
33.5.7 定義驗證分組
33.6 使用主題
33.6.1 *.skin文件
33.6.2 應用網站級彆的主題
33.6.3 在頁麵級彆應用主題
33.6.4 SkinID屬性
33.6.5 以編程方式分配主題
33.7 小結

第34章 ASP.NET狀態管理技術
34.1 狀態問題
34.2 ASP.NET狀態管理技術
34.3 ASP.NET視圖狀態的作用
34.3.1 演示視圖狀態
34.3.2 添加自定義視圖狀態數據
34.4 Global.asax文件的作用
34.4.1 全局最後異常事件處理程序
34.4.2 HttpApplication基類
34.5 應用程序狀態與會話狀態的差彆
34.5.1 維護應用程序級的狀態數據
34.5.2 修改應用程序數據
34.5.3 處理Web應用程序的關閉
34.6 使用應用程序緩存
34.6.1 使用數據緩存
34.6.2 修改*.aspx文件
34.7 維護會話數據
34.8 cookie
34.8.1 創建cookie
34.8.2 讀取傳入的cookie數據
34.9 元素的作用
34.9.1 在ASP.NET會話狀態服務器中保存會話數據
34.9.2 把會話數據保存在專門的數據庫中
34.10 ASP.NET用戶配置API
34.10.1 ASPNETDB.mdf數據庫
34.10.2 在web.config中定義用戶配置
34.10.3 以編程方式訪問用戶配置數據
34.10.4 分組用戶配置數據並且持久化自定義對象
34.11 小結
索引

前言/序言


用戶評價

評分

比想象中厚得多,內容很全,寫得很細。

評分

趁活動買瞭不少書,京東的活動力度還是可以的。

評分

書是真的厚。但內容真是太水瞭,3/5都是講廢話。

評分

非常差的購物體驗!

評分

3、如果和我一樣不幸已經買瞭本書,最好還是拿本專業一些成熟一些的書本看看吧……這本書對於專業詞匯的翻譯爛到可能會影響你對一門編程C#語言的抵觸!彆太輕信本翻譯版本的書麵吹捧瞭!

評分

太髒 有點像舊書,看著有點像復印的……

評分

書是正版的,非常的厚,價格也比~上的便宜點。

評分

新書這麼多劃痕真的很失望,慎重購買

評分

差評不是對京東,也不是對快遞員!京東和快遞員都很好!感謝快遞員大過年送來。

相關圖書

本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有