圖靈程序設計叢書:精通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 小結
索引

前言/序言


圖靈程序設計叢書:精通C(第6版)—— 開啓你的 .NET 開發新紀元 在瞬息萬變的軟件開發領域,擁抱最新的技術、掌握最精煉的實踐是每一位開發者保持競爭力的不二法門。如果您渴望深入理解 C 語言的核心機製,精通 .NET 平颱的全貌,並能駕馭現代軟件開發的各種挑戰,那麼《圖靈程序設計叢書:精通C(第6版)》將是您不可或缺的權威指南。本書全麵、深入地剖析瞭 C 語言及其背後的 .NET 生態係統,為開發者提供瞭從基礎概念到高級特性、從理論到實踐的完整知識體係,助您成為一名真正精通 C 的技術專傢。 本書並非泛泛而談,而是以一種高度結構化、循序漸進的方式,引導讀者深入理解 C 語言的每一個細微之處。我們將從 C 語言的基石——類型係統、對象模型齣發,逐一揭示類、結構體、繼承、多態、接口等麵嚮對象設計的精髓。本書將帶領您領略 C 在內存管理方麵的強大之處,深入理解值類型與引用類型的區彆,剖析垃圾迴收(GC)的工作原理,以及如何通過資源管理(如 `using` 語句和 `IDisposable` 接口)來確保代碼的高效與安全。 隨著對 C 核心概念的掌握,本書將進一步拓展您的視野,引入異步編程的強大力量。您將深入理解 `async` 和 `await` 關鍵字的運作機製,掌握如何使用 `Task` 和 `Task` 來編寫響應式、非阻塞的代碼,從而顯著提升應用程序的性能和用戶體驗。無論是構建高性能的服務器端應用,還是響應迅速的桌麵或移動應用,異步編程都將是您不可或缺的利器,而本書將助您輕鬆駕馭。 .NET 平颱是 C 開發的沃土,本書將全麵展示 .NET 生態係統的豐富性與強大性。您將深入瞭解 .NET Core(現已統一為 .NET 5 及更高版本)的跨平颱能力,以及其在構建高性能、模塊化應用程序方麵的優勢。本書將引導您探索 ASP.NET Core,學習如何構建現代化的 Web 應用程序和 API,掌握 MVC、Razor Pages、Blazor 等不同的 Web 開發模式。同時,您還將學習如何利用 Entity Framework Core 進行高效的數據訪問,輕鬆實現與數據庫的交互。 對於追求卓越性能和靈活性的開發者,本書將重點講解泛型、委托、事件、 LINQ(Language Integrated Query)等高級特性。泛型能夠幫助您編寫齣類型安全且可重用的代碼;委托和事件是實現鬆耦閤設計和響應式編程的關鍵;而 LINQ 則為數據查詢和操作帶來瞭前所未有的簡潔與強大,讓您能夠以聲明式的方式處理各種數據源。本書將通過大量的實例,展示如何靈活運用這些特性,解決復雜的編程難題。 現代軟件開發離不開對並發和並行處理的深入理解。本書將帶您走進多綫程的世界,學習如何在 C 中安全有效地進行綫程同步,利用 `System.Threading` 命名空間中的類來管理綫程生命周期,以及使用 `Parallel` 類和 PLINQ(Parallel LINQ)來加速計算密集型任務。您將瞭解綫程池、鎖、信號量等同步原語,並學會如何避免常見的並發問題,如死鎖和競態條件。 本書同樣關注軟件開發的工程化實踐。您將學習如何使用單元測試來保證代碼的質量,探索常用的測試框架(如 xUnit、NUnit、MSTest),並掌握編寫可維護、可擴展的測試代碼的技巧。代碼的可測試性是衡量代碼質量的重要標準,本書將幫助您構建易於測試的代碼。此外,我們還將觸及一些重要的設計模式,並結閤 C 的語言特性,展示如何在實際項目中應用這些模式來解決常見的軟件設計問題,從而提高代碼的可維護性、可讀性和可擴展性。 在 .NET 的廣闊天地中,各種庫和框架的應用至關重要。本書將為您揭示 .NET SDK 的強大功能,包括項目管理、包管理(NuGet)、構建係統等。您將瞭解如何有效地使用這些工具來組織和構建您的項目。同時,本書也會適時地介紹一些其他重要的 .NET 庫和技術,例如用於處理 XML 的 `System.Xml`,用於網絡通信的 `HttpClient`,以及用於處理日期和時間的 `DateTime` 和 `TimeSpan` 等。 除瞭核心語言和框架的講解,本書還將關注軟件開發中的一些關鍵概念,如異常處理、反射、特性(Attributes)、泛型委托和匿名方法等。深入理解異常處理機製,能夠幫助您編寫齣更健壯、更易於調試的代碼。反射則提供瞭在運行時檢查和操作類型信息的能力,為動態編程和元編程提供瞭可能。特性可以為代碼添加元數據,從而影響代碼的編譯、運行和分析。 本書的編排精心設計,旨在為不同水平的開發者提供價值。初學者可以從基礎的 C 語法和麵嚮對象概念入手,逐步深入;而經驗豐富的開發者則可以在書中找到對高級特性和.NET 平颱最新進展的深度解讀,發現新的優化思路和開發技巧。每一個章節都包含清晰的解釋、詳盡的代碼示例和針對性的練習,鼓勵讀者動手實踐,鞏固所學知識。 《圖靈程序設計叢書:精通C(第6版)》不僅僅是一本書,它更是一份承諾:承諾為您提供最前沿、最深入、最實用的 C 和 .NET 開發知識。無論您是想從零開始踏入 C 的世界,還是希望在現有技術基礎上尋求突破,本書都將成為您最值得信賴的夥伴。通過本書的學習,您將能夠自信地構建各種類型的應用程序,無論是桌麵應用、Web 服務、雲原生應用,還是遊戲開發,都將遊刃有餘。 擁抱 .NET 的未來,從精通 C 開始。《圖靈程序設計叢書:精通C(第6版)》將為您開啓一段精彩的 .NET 開發旅程,助您在技術的浪潮中乘風破浪,成為一名真正意義上的 C 大師。

用戶評價

評分

我是在一個偶然的機會下瞭解到這本《圖靈程序設計叢書:精通C(第6版)》的,當時正在為某個項目選擇技術棧,C是其中一個選項,但由於對它不夠瞭解,總有些顧慮。在朋友的推薦下,我翻開瞭這本書,很快就被它深深吸引瞭。它所展現齣的C語言的強大生命力和.NET平颱的廣闊前景,徹底打消瞭我的疑慮。這本書的內容非常全麵,從C的基礎語法到泛型、委托、異步編程等核心概念,再到LINQ、ASP.NET Core等框架的應用,幾乎涵蓋瞭C開發的所有重要方麵。我尤其喜歡書中對於“如何寫齣高質量的代碼”的討論,它不僅僅停留在語法層麵,更強調瞭代碼的可讀性、可維護性、可擴展性,以及如何應用設計模式來解決實際問題。書中的案例都非常貼閤實際開發場景,能夠讓我直接將學到的知識應用到工作中去。這本書對我來說,不僅僅是一本技術書籍,更像是一份寶貴的學習指南,它為我指明瞭C學習的方嚮,也讓我更加期待未來在C領域的探索。

評分

作為一名對編程充滿熱情的自學者,我一直在尋找一本能夠係統性地提升我C技能的書籍。《圖靈程序設計叢書:精通C(第6版)》無疑是我的不二之選。它不僅僅是一本技術手冊,更像是一位經驗豐富的導師,耐心地引導我探索C語言的深度和廣度。從最基本的變量、數據類型,到復雜的委托、事件、接口,再到.NET Core的最新發展,這本書都給予瞭詳盡而清晰的闡述。我特彆喜歡書中對麵嚮對象編程(OOP)原則的解讀,它不僅僅羅列瞭繼承、封裝、多態這些概念,更深入地剖析瞭如何在實際開發中靈活運用它們,以及如何通過設計模式來構建更優雅、可維護的代碼。書中的代碼示例都非常具有代錶性,而且都經過瞭精心的設計,能夠直觀地展示所講授的知識點。我經常會在看完一個章節後,自己動手實踐書中的代碼,然後嘗試進行修改和擴展,這個過程極大地加深瞭我對知識的理解。雖然有些章節的內容對我來說還有些挑戰,但我相信,隨著我閱讀的深入和實踐的積纍,我一定能夠掌握書中的精髓,成為一名更優秀的C開發者。

評分

坦白說,《圖靈程序設計叢書:精通C(第6版)》這本書給我的第一印象是“厚重”。它沉甸甸的,充滿瞭知識的份量。我一直以來都在C領域進行開發,從Web前端到桌麵應用,都接觸過不少。但越是深入,就越是感覺有些地方不夠紮實,尤其是在.NET的內部機製、內存管理、性能優化等方麵。這本書恰恰在這方麵給予瞭我極大的幫助。它不僅講解瞭C語言本身的特性,更深入地剖析瞭.NET運行時(CLR)的工作原理,比如垃圾迴收(GC)的機製、JIT編譯的過程等等。這些底層知識對於理解程序的行為、排查性能瓶頸至關重要。書中的章節安排也很有邏輯性,從基礎到高級,層層遞進,讓我能夠逐步構建起對整個.NET生態係統的認知。我特彆贊賞作者在講解高級特性時,並沒有迴避其復雜性,而是用清晰的語言和恰當的比喻,讓這些曾經令我頭疼的概念變得容易理解。這本書絕對是每一個希望“精通”C的開發者必備的參考書,它值得反復研讀,並且每一次閱讀都會有新的收獲。

評分

我是一個對編程有著執著追求的技術愛好者,接觸過多種編程語言,但C一直是我情有獨鍾的語言之一。當《圖靈程序設計叢書:精通C(第6版)》這本書齣現的時候,我毫不猶豫地入手瞭。這本書的內容讓我驚嘆不已。它不僅僅是教科書式的羅列語法,而是將C的精髓,其背後強大的設計理念和runtime機製,都展現得淋灕盡緻。從對接口的深入理解,到對泛型在實際開發中的應用技巧,再到異步編程模型在提升程序響應速度和效率方麵的巨大優勢,這本書都給予瞭非常深刻的解析。我特彆喜歡書中對於“性能調優”和“安全性”的章節,這些往往是開發者容易忽視但又至關重要的地方。作者用很多實際的例子來證明,如何通過精巧的設計和對語言特性的熟練運用,來寫齣既高效又安全的C代碼。這本書的齣版,無疑為C開發者提供瞭一份寶貴的財富,它不僅僅是學習C的入門指南,更是成為C專傢的必經之路。

評分

這本《圖靈程序設計叢書:精通C(第6版)》我拿到手已經有一段時間瞭,雖然還沒完全啃下來,但已經能感受到它在C領域深厚的功底。我本身是做軟件開發的,平時接觸C也算比較多,但總覺得在一些底層細節和高級特性上,總有那麼一層窗戶紙沒捅破。這本書恰好填補瞭我的這個缺憾。它的內容涵蓋瞭C語言的方方麵麵,從基礎語法到麵嚮對象的高級應用,再到.NET框架的深入剖析,幾乎無所不包。特彆是關於泛型、LINQ、異步編程和並發這些內容,講解得非常透徹,案例也貼切實際,讓我對這些曾經覺得有些晦澀的概念有瞭豁然開朗的感覺。我尤其欣賞作者在講解復雜概念時,能夠循序漸進,層層遞進,不會一開始就拋齣大量專業術語,而是先從淺顯的例子入手,逐步引導讀者深入理解。而且,書中穿插的很多“最佳實踐”和“陷阱提示”,更是彌足珍貴,這對於我們實際開發中避免踩坑,提高代碼質量非常有幫助。這本書絕對不是那種隻會教你“怎麼做”,而是會讓你明白“為什麼這麼做”的書。它讓我對C的理解上升瞭一個新的颱階,也讓我對未來的編程之路充滿瞭信心。

評分

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

評分

很不錯的工具書,知識就是黃金……

評分

物流很快!

評分

纔開始看,確實不錯,通俗易懂…

評分

買瞭好多書瞭,京東買書就是方便,送貨快

評分

ok ok

評分

1、看介紹書的原版應該是評價很高的。可惜書的翻譯質量太低,翻遍全書也沒見什麼對翻譯者的解釋,唯一可以看到隻有在封麵和版權頁部分上的,一串人名後麵再加一個“等”字,看翻譯效果,初步估計也就是一個老闆帶著一批學生翻譯的。

評分

書不錯,紙張很好。

評分

二、快遞小哥腦闊有問題啊!你跟門衛吵啥架,搞滴彆人不收我快遞。害滴我跑嫩遠。

相關圖書

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.tinynews.org All Rights Reserved. 静思书屋 版权所有