《C#3.0Cookbook(中文版)(第3版)》側重於解決C#程式設計師在開發應用程式時遇到的各類問題,並根此組織全書內容。這些解決方案稱為秘訣;每個秘訣都包含一個問題,它的解決方案及相關信息的討論,最後還提供了關於使用FCL中的類的詳細信息的出處、針對這個主題的其他書籍、相關的文章以及其他秘訣。這種問題一答案格式提供了問題的完整解決方案,使得《C#3.0Cookbook(中文版)(第3版)》易於閱讀和使用。幾乎每個秘訣都包含一個完整的書面代碼示例,展示了如何解決特定的問題,還討論了底層技術的工作原理,並且根據需要列出了一些替代方法、限制條件及其他考慮事項。
基本介紹
- 書名:C#3.0Cookbook
- 出版社:清華大學出版社
- 頁數:702頁
- 開本:16
- 品牌:清華大學出版社
- 作者:希爾雅德 (Hilyard.J)
- 出版日期:2008年12月1日
- 語種:簡體中文
- ISBN:9787302181095
基本介紹,內容簡介,作者簡介,圖書目錄,序言,
基本介紹
內容簡介
當你在使用C#3.0的過程中陷入困境而需要快速找到解決方案時,為什麼要辛苦地讀完一本教程呢?這本最暢銷書現在提供了超過250個代碼秘訣,針對的是C#程式設計師面臨的常見和不那么常見的問題。《C#3.0Cookbook(中文版)(第3版)》添加了許多新秘訣,從以前版本繼承來的大多數秘訣都經過了修訂,以便幫助你利用C#3.0和.NET 3.5平台提供的能力——以及克服它們提出的挑戰。
《C#3.0Cookbook(中文版)(第3版)》用一整章的篇幅介紹了用於LINQ(語言級集成查詢)的秘訣,並用額外兩章介紹了使用擴展方法的秘訣,還介紹了lambda表達式、對象和集合初始化器、新的同步原語以及LINQ to XML等。《C#3.0Cookbook(中文版)(第3版)》中的每個秘訣都提供了對單個問題的解決方案,討論了它為什麼會工作,並且提供了查找額外信息的資源。
你將找到用於以下方面的秘訣:
LINQ及其與對象、ADO.NET和xML的結合使用
字元串和字元
類和結構
泛型以及何時適合使用它們
集合
異常處理
委託、事件lambda表達式
不屬於.NET Framework類庫一部分的數據結構和算湛
檔案系統互動
web站點訪問和確定Web站點配置
XML的使用(包括LINQ to XML、XPath和XSLT)
使用.NET連通性選項的聯網
執行緒
數字數據類型和枚舉
你還將發現其他一些秘訣,它們用於加密和解密、控制對類型的訪問、安全地存儲數據、使用編程性安全和聲明性安全等。所有的解決方案都是使用Visual Studio.NET2008開發的。
《C#3.0Cookbook(中文版)(第3版)》的補充資源是一個公共共建性網站,它包括C#2.0秘訣的以前版本,C#3.0版本沒有修改它們。
《C#3.0Cookbook(中文版)(第3版)》用一整章的篇幅介紹了用於LINQ(語言級集成查詢)的秘訣,並用額外兩章介紹了使用擴展方法的秘訣,還介紹了lambda表達式、對象和集合初始化器、新的同步原語以及LINQ to XML等。《C#3.0Cookbook(中文版)(第3版)》中的每個秘訣都提供了對單個問題的解決方案,討論了它為什麼會工作,並且提供了查找額外信息的資源。
你將找到用於以下方面的秘訣:
LINQ及其與對象、ADO.NET和xML的結合使用
字元串和字元
類和結構
泛型以及何時適合使用它們
集合
異常處理
委託、事件lambda表達式
不屬於.NET Framework類庫一部分的數據結構和算湛
檔案系統互動
web站點訪問和確定Web站點配置
XML的使用(包括LINQ to XML、XPath和XSLT)
使用.NET連通性選項的聯網
執行緒
數字數據類型和枚舉
你還將發現其他一些秘訣,它們用於加密和解密、控制對類型的訪問、安全地存儲數據、使用編程性安全和聲明性安全等。所有的解決方案都是使用Visual Studio.NET2008開發的。
《C#3.0Cookbook(中文版)(第3版)》的補充資源是一個公共共建性網站,它包括C#2.0秘訣的以前版本,C#3.0版本沒有修改它們。
作者簡介
作者:(美國)希爾雅德 (Hilyard.J) (美國)特爾赫特 (Teilher.S.) 譯者:陳宗斌
圖書目錄
前言
第1章 語言級集成查詢(LINQ)
1.0 簡介
1.1 查詢訊息佇列
1.2 使用帶有數據的集合語義
1.3 利用LINQ to sQL重用參數化查詢
1.4 以一種文化敏感的方式對結果排序
1.5 添加用於LlNQ的功能擴展
1.6 跨資料庫執行查詢和連線
1.7 利用LINQ查詢配置檔案
1.8 直接從資料庫創建xML檔案
1.9 有選擇地輸出查詢結果
1.10 結合使用LINQ與不支持IEnumerable 的集合
第2章 字元串和字元
2.0 簡介
2.1 確定char包含的字元種類
2.2 在比較兩個字元時控制大小寫敏感性
2.3 在一個字元串內尋找另一個字元串出現的所有位置
2.4 在比較兩個字元串時控制大小寫敏感性
2.5 把一個字元串與另一個字元串的頭部或尾部作比較
2.6 插入文本到字元串中
2.7 刪除或替換字元串內的字元
2.8 把二進制數據編碼為base64格式
2.9 解碼base64編碼的二進制數據
2.10 把作為byte返回的字元串轉換為字元串
2.11 把字元串傳遞給只接受byte的方法
2.12 把字元串轉換為其他類型
2.13 創建定界字元串
2.14 從定界字元串中提取數據項
2.15 遍歷字元串中的每個字元
2.16 從字元串的頭部和/或尾部刪除字元
2.17 測試字元串是否為null或者長度為0
2.18 追加行
第3章 類和結構
3.0 簡介
3.1 創建聯合類型的結構
3.2 使類型可排序
3.3 使類型可檢索
3.4 間接重載+=、.=、/=和*=運算符
3.5 間接重載&&、Il和?:運算符
3.6 創建無錯的表達式
3.7 簡化布爾邏輯
3.8 以程式設計語言無關的方式在簡單類型之間轉換
3.9 確定何時使用強制轉換運算符、as運算符或is運算符
3.10 利用as運算符進行強制轉換
3.11 利用is運算符確定變數的類型
3.12 從一個方法返回多個數據項
3.13 解析命令行參數
3.14 在運行時初始化常量欄位
3.15 構建可複製的類
3.16 確保處理對象
3.17 處理非託管資源
3.18 確定裝箱和拆箱的位置
第4章 泛型
4.0 簡介
4.1 確定使用泛型的時間和位置
4.2 理解泛型類型
4.3 利用對應的泛型替換ArrayList
4.4 用對應的泛型替換Stack和Queue
4.5 使用鍊表
4.6 創建可以初始化為null的值類型
4.7 反轉有序鍊表中的內容
4.8 以泛型方式創建唯讀集合
4.9 利用對應的泛型替換Hashtable
4.10 對泛型Dictionary類型使用foreach
4.11 約束類型參數
4.12 將泛型變數初始化為它們的默認值
第5章 集合
5.0 簡介
5.1 交換數組中的兩個元素
5.2 快速反轉數組
5.3 編寫更靈活的StackTrace類
5.4 確定一個數據項在List 中出現的次數
5.5 檢索List 中的特定數據項的所有實例
5.6 從數組中插入和刪除數據項
5.7 保持List 有序
5.8 對Dictionary的鍵和/或值排序
5.9 創建具有最大值和最小值界限的Dictionary
5.10 在數組中存儲列表的快照
5.11 維持應用程式會話之間的集合
5.12 測試Array或List 中的每個元素
5.13 對Array或List 中的每個元素執行一種操作
5.14 創建唯讀的Array或List
第6章 疊代器、分部類型和分部方法
6.0 簡介
6.1 在泛型類型上創建疊代器
6.2 在非泛型類型上創建疊代器
6.3 創建自定義的枚舉器
6.4 實現疊代器邏輯
6.5 強制疊代器停止疊代
6.6 處理finally塊和疊代器
6.7 在類中實現嵌套的foreach功能
6.8 組織接口實現
6.9 生成不再位於主代碼路徑中的代碼
6.10 向生成的實體中添加掛鈎
第7章 異常處理
7.0 簡介
7.1 知道何時捕獲和重新拋出異常
7.2 使用finally塊時確保異常不會丟失
7.3 處理從通過反射調用的方法中拋出的異常
7.4 防止未處理的異常
7.5 獲取異常信息
7.6 快速找到問題的根源
7.7 創建新的異常類型
7.8 獲得棧記錄
7.9 在第一次機會的異常上中斷
7.10 處理從異步委託拋出的異常
7.11 利用Exception.Data給異常提供它們所需的額外信息
7.12 在WinForms應用程式中處理未處理的異常
7.13 處理Windows Presentation Foundation(WPF)應用程式中未處理的異常
7.14 為常見錯誤分析異常
第8章 診斷
8.0 簡介
8.1 對調試/跟蹤輸出提供細粒度的控制
8.2 確定進程是否停止了回響
8.3 在應用程式中使用事件日誌
8.4 查找事件日誌條目
8.5 監視事件日誌中的特定條目
8.6 實現一個簡單的性能計數器
8.7 啟用和禁用複雜的跟蹤代碼
8.8 捕獲進程的標準輸出
8.9 為類創建自定義的調試顯示
第9章 委託、事件和Iambda表達式
9.0 簡介
9.1 控制何時以及是否在多播委託中觸發一個委託
9.2 從多播委託中的每個委託獲得返回值
9.3 為多播委託中的每個委託單獨處理異常
9.4 把同步委託調用轉換成異步委託調用
9.5 一種高級接口查找機制
9.6 觀察字典的添加和修改
9.7 使用lambda表達式
9.8 清晰地建立事件處理程式
9.9 在lambda表達式中使用不同的參數修飾符
9.10 在C#中使用閉包
9.11 使用函子對列表執行多種操作
第10章 正則表達式
10.0 簡介
10.1 枚舉匹配
10.2 從MatchCollection 中提取組
10.3 驗證正則表達式的語法
10.4 只快速查找字元串中的最後一個匹配
10.5 增強基本的字元串替換功能
第8章 診斷
第9章 委託,事件和Iambda表達式
第10章 正則表達式
第11章 數據結構與算法
第12章 檔案系統I/Q
第13章 反射
第14章 Web
第15章 XML
第16章 聯網
第17章 安全性
第18章 執行緒和同步
第19章 工具箱
第20章 數字與枚舉
第1章 語言級集成查詢(LINQ)
1.0 簡介
1.1 查詢訊息佇列
1.2 使用帶有數據的集合語義
1.3 利用LINQ to sQL重用參數化查詢
1.4 以一種文化敏感的方式對結果排序
1.5 添加用於LlNQ的功能擴展
1.6 跨資料庫執行查詢和連線
1.7 利用LINQ查詢配置檔案
1.8 直接從資料庫創建xML檔案
1.9 有選擇地輸出查詢結果
1.10 結合使用LINQ與不支持IEnumerable 的集合
第2章 字元串和字元
2.0 簡介
2.1 確定char包含的字元種類
2.2 在比較兩個字元時控制大小寫敏感性
2.3 在一個字元串內尋找另一個字元串出現的所有位置
2.4 在比較兩個字元串時控制大小寫敏感性
2.5 把一個字元串與另一個字元串的頭部或尾部作比較
2.6 插入文本到字元串中
2.7 刪除或替換字元串內的字元
2.8 把二進制數據編碼為base64格式
2.9 解碼base64編碼的二進制數據
2.10 把作為byte返回的字元串轉換為字元串
2.11 把字元串傳遞給只接受byte的方法
2.12 把字元串轉換為其他類型
2.13 創建定界字元串
2.14 從定界字元串中提取數據項
2.15 遍歷字元串中的每個字元
2.16 從字元串的頭部和/或尾部刪除字元
2.17 測試字元串是否為null或者長度為0
2.18 追加行
第3章 類和結構
3.0 簡介
3.1 創建聯合類型的結構
3.2 使類型可排序
3.3 使類型可檢索
3.4 間接重載+=、.=、/=和*=運算符
3.5 間接重載&&、Il和?:運算符
3.6 創建無錯的表達式
3.7 簡化布爾邏輯
3.8 以程式設計語言無關的方式在簡單類型之間轉換
3.9 確定何時使用強制轉換運算符、as運算符或is運算符
3.10 利用as運算符進行強制轉換
3.11 利用is運算符確定變數的類型
3.12 從一個方法返回多個數據項
3.13 解析命令行參數
3.14 在運行時初始化常量欄位
3.15 構建可複製的類
3.16 確保處理對象
3.17 處理非託管資源
3.18 確定裝箱和拆箱的位置
第4章 泛型
4.0 簡介
4.1 確定使用泛型的時間和位置
4.2 理解泛型類型
4.3 利用對應的泛型替換ArrayList
4.4 用對應的泛型替換Stack和Queue
4.5 使用鍊表
4.6 創建可以初始化為null的值類型
4.7 反轉有序鍊表中的內容
4.8 以泛型方式創建唯讀集合
4.9 利用對應的泛型替換Hashtable
4.10 對泛型Dictionary類型使用foreach
4.11 約束類型參數
4.12 將泛型變數初始化為它們的默認值
第5章 集合
5.0 簡介
5.1 交換數組中的兩個元素
5.2 快速反轉數組
5.3 編寫更靈活的StackTrace類
5.4 確定一個數據項在List 中出現的次數
5.5 檢索List 中的特定數據項的所有實例
5.6 從數組中插入和刪除數據項
5.7 保持List 有序
5.8 對Dictionary的鍵和/或值排序
5.9 創建具有最大值和最小值界限的Dictionary
5.10 在數組中存儲列表的快照
5.11 維持應用程式會話之間的集合
5.12 測試Array或List 中的每個元素
5.13 對Array或List 中的每個元素執行一種操作
5.14 創建唯讀的Array或List
第6章 疊代器、分部類型和分部方法
6.0 簡介
6.1 在泛型類型上創建疊代器
6.2 在非泛型類型上創建疊代器
6.3 創建自定義的枚舉器
6.4 實現疊代器邏輯
6.5 強制疊代器停止疊代
6.6 處理finally塊和疊代器
6.7 在類中實現嵌套的foreach功能
6.8 組織接口實現
6.9 生成不再位於主代碼路徑中的代碼
6.10 向生成的實體中添加掛鈎
第7章 異常處理
7.0 簡介
7.1 知道何時捕獲和重新拋出異常
7.2 使用finally塊時確保異常不會丟失
7.3 處理從通過反射調用的方法中拋出的異常
7.4 防止未處理的異常
7.5 獲取異常信息
7.6 快速找到問題的根源
7.7 創建新的異常類型
7.8 獲得棧記錄
7.9 在第一次機會的異常上中斷
7.10 處理從異步委託拋出的異常
7.11 利用Exception.Data給異常提供它們所需的額外信息
7.12 在WinForms應用程式中處理未處理的異常
7.13 處理Windows Presentation Foundation(WPF)應用程式中未處理的異常
7.14 為常見錯誤分析異常
第8章 診斷
8.0 簡介
8.1 對調試/跟蹤輸出提供細粒度的控制
8.2 確定進程是否停止了回響
8.3 在應用程式中使用事件日誌
8.4 查找事件日誌條目
8.5 監視事件日誌中的特定條目
8.6 實現一個簡單的性能計數器
8.7 啟用和禁用複雜的跟蹤代碼
8.8 捕獲進程的標準輸出
8.9 為類創建自定義的調試顯示
第9章 委託、事件和Iambda表達式
9.0 簡介
9.1 控制何時以及是否在多播委託中觸發一個委託
9.2 從多播委託中的每個委託獲得返回值
9.3 為多播委託中的每個委託單獨處理異常
9.4 把同步委託調用轉換成異步委託調用
9.5 一種高級接口查找機制
9.6 觀察字典的添加和修改
9.7 使用lambda表達式
9.8 清晰地建立事件處理程式
9.9 在lambda表達式中使用不同的參數修飾符
9.10 在C#中使用閉包
9.11 使用函子對列表執行多種操作
第10章 正則表達式
10.0 簡介
10.1 枚舉匹配
10.2 從MatchCollection 中提取組
10.3 驗證正則表達式的語法
10.4 只快速查找字元串中的最後一個匹配
10.5 增強基本的字元串替換功能
第8章 診斷
第9章 委託,事件和Iambda表達式
第10章 正則表達式
第11章 數據結構與算法
第12章 檔案系統I/Q
第13章 反射
第14章 Web
第15章 XML
第16章 聯網
第17章 安全性
第18章 執行緒和同步
第19章 工具箱
第20章 數字與枚舉
序言
C#語言是Microsoft公司為推行.NET戰略而發布的一種全新的程式語言。它是一種全新的、純面向對象的程式語言,具有清晰明了的語法結構、優秀的編程開發環境和高效率的編譯工具。C#語言從C++語言發展而來,繼承了C++語言的所有優點,同時根據.NET戰略的需要增強了自身的功能,拋棄了C++中各種不安全因素,從而使程式設計師能夠更有效率地使用C#開發套用軟體。另外,C#在許多方面與Java相似;Java程式設計師一旦學習了Framework SDK,他們在C#中就會有一種賓至如歸的感覺。C#還非常適合於Visual Basic.NET程式設計師,當他們需要能夠更多地控制代碼執行的任務並且不想為此編寫C++代碼時就可以使用C#。本書側重於解決C#程式設計師在開發應用程式時遇到的各類問題,並根此組織全書內容。這些解決方案稱為秘訣;每個秘訣都包含一個問題,它的解決方案及相關信息的討論,最後還提供了關於使用FCL中的類的詳細信息的出處、針對這個主題的其他書籍、相關的文章以及其他秘訣。這種問題一答案格式提供了問題的完整解決方案,使得本書易於閱讀和使用。幾乎每個秘訣都包含一個完整的書面代碼示例,展示了如何解決特定的問題,還討論了底層技術的工作原理,並且根據需要列出了一些替代方法、限制條件及其他考慮事項。