<內容簡介>
斯基特編著的《深入理解C#(第3版)/圖靈程序設計叢書》是C#領域不可多得的經典著作。作者在詳盡地展示C#各個知識點的同時,更註重從現象中挖掘本質。本書深入探索了C#的核心概念和經典特性,並將這些特性融入到代碼中,讓讀者能夠真正領會到C#之「深入」與「精妙」。在第2版的基礎上,本書新增了C# 5的新特性——異步,並更新了隨著技術的發展,已經不再適用的內容,確保整本書能達到讀者期望的高標準。
如果你略微瞭解一點C#,就可無障礙地閱讀《深入理解C#(第3版)/圖靈程序設計叢書》。
<目錄>
第一部分 基礎知識
第1章 C#開發的進化史
1.1 從簡單的數據類型開始
1.1.1 C# 1中定義的產品類型
1.1.2 C# 2中的強類型集合
1.1.3 C# 3中自動實現的屬性
1.1.4 C# 4中的命名實參
1.2 排序和過濾
1.2.1 按名稱對產品進行排序
1.2.2 查詢集合
1.3 處理未知數據
1.3.1 表示未知的價格
1.3.2 可選參數和默認值
1.4 LINQ簡介
1.4.1 查詢表達式和進程內查詢
1.4.2 查詢XML
1.4.3 LINQ to SQL
1.5 COM和動態類型
1.5.1 簡化COM互操作
1.5.2 與動態語言互操作
1.6 輕鬆編寫異步代碼
1.7 剖析.NET平臺
1.7.1 C#語言
1.7.2 運行時
1.7.3 框架庫
1.8 怎樣寫出超炫的代碼
1.8.1 採用代碼段形式的全能代碼
1.8.2 教學代碼不是產品代碼
1.8.3 你的新朋友:語言規範
1.9 小結
第2章 C# 1所搭建的核心基礎
2.1 委託
2.1.1 簡單委託的構成
2.1.2 合併和刪除委託
2.1.3 對事件的簡單討論
2.1.4 委託總結
2.2 類型系統的特徵
2.2.1 C#在類型系統世界中的位置
2.2.2 C# 1的類型系統何時不夠用
2.2.3 類型系統特徵總結
2.3 值類型和引用類型
2.3.1 現實世界中的值和引用
2.3.2 值類型和引用類型基礎知識
2.3.3 走出誤區
2.3.4 裝箱和拆箱
2.3.5 值類型和引用類型小結
2.4 C# 1之外:構建於堅實基礎之上的新特性
2.4.1 與委託有關的特性
2.4.2 與類型系統有關的特性
2.4.3 與值類型有關的特性
2.5 小結
第二部分 C# 2:解決C# 1的問題
第3章 用泛型實現參數化類型
3.1 為什麼需要泛型
3.2 日常使用的簡單泛型
3.2.1 通過例子來學習:泛型字典
3.2.2 泛型類型和類型參數
3.2.3 泛型方法和判讀泛型聲明
3.3 深化與提高
3.3.1 類型約束
3.3.2 泛型方法類型實參的類型推斷
3.3.3 實現泛型
3.4 高級泛型
3.4.1 靜態字段和靜態構造函數
3.4.2 JIT編譯器如何處理泛型
3.4.3 泛型迭代
3.4.4 反射和泛型
3.5 泛型在C#和其他語言中的限制
3.5.1 泛型可變性的缺乏
3.5.2 缺乏操作符約束或者「數值」約束
3.5.3 缺乏泛型屬性、索引器和其他成員類型
3.5.4 同C++模板的對比
3.5.5 和Java泛型的對比
3.6 小結
第4章 可空類型
4.1 沒有值時怎麼辦
4.1.1 為什麼值類型的變量不能是null
4.1.2 在C# 1中表示空值的模式
4.2 System.Nullable和System.Nullable
4.2.1 Nullable簡介
4.2.2 Nullable裝箱和拆箱
4.2.3 Nullable實