C# 本事
$18.00
最低售價
$19.95
建議售價
C# 本事
(涵蓋 C# 10)
關於本書
本書的目的是介紹 C# 程式語言的重要特色,以及實務上常用的 .NET 類別(例如集合、LINQ 等)。也就是說,對於像是變數、迴圈、if...else 等基礎語法,本書都不會介紹。我不想讓這本書便得太厚而難以消化。
目前進行中的章節大致如下:
- chapter 1: C# 基礎語法的重要部分。請注意這裡的「基礎語法」,指的並不是如迴圈(例如 for、foreach)、決策(例如 if...else、switch...case)等基本元素,而是其他稍微進階一點、或更便捷的 C# 語法,包括:可為 null 的型別( nullable types)、 物件初始設定式、 自動實作屬性、匿名型別、擴充方法等等。
- chapter 2:泛型
- chapter 3:委派與 Lambda 表示式
- chapter 4:事件
- chapter 5:C# 6
- chapter 6:C# 7
- chapter 7:C# 8
- chapter 8:C# 9
- chapter 9:C# 10
- chapter 10:列舉器
- chapter 11:LINQ
預計會加入的內容:async/await 語法。
本書也包含在這些優惠組合裡:
目錄
-
關於本書
- 本書定位
- 閱讀方法
- 書寫慣例
- 本書用到的工具
- 範例程式與補充資料
- 版本更新紀錄
- 關於作者
-
C# 基礎語法
-
使用
var
宣告隱含型別 -
使用
dynamic
宣告動態型別 -
可為
null
的型別- 宣告與初始化
- 賦值與取值
- 判斷是否有值
-
與非
Nullable
型別混用
-
物件初始設定式
- 集合的初始設定式
- 自動實作屬性
-
匿名型別
- 投射初始設定式
- 注意事項
- 擴充方法
- 下一步
-
使用
-
泛型
-
為什麼要有泛型?
- 手動轉型的問題
- 土法煉鋼
- 泛型之美
-
細說泛型
- 泛型、型別參數、建構的型別
- 泛型是型別的樣板
- 建構式與解構式
- 預設值的表示法
- 型別參數的條件約束
- 泛型介面與結構
-
泛型方法
- 型別推斷
- 擴充方法與泛型類別
- 泛型與 C++ 樣板的差異
-
泛型的型別相容問題
- 核心概念:型別相容
- Covariance
- Contravariance
- 重點回顧
-
為什麼要有泛型?
-
委派與 Lambda 表示式
-
委派
- 為什麼要用委派?
- C# 1.0 的寫法
- C# 2.0 的寫法
- C# 3.0 的寫法
- 泛型委派
-
Lambda 表示式
- 運算式 lambda
- 陳述式 lambda
- 重點整理:概念圖
- 外部變數
- 運算式樹
- 總結
-
委派
-
事件
-
基礎觀念
- 事件驅動程式設計
- 發行-訂閱模式
-
使用委派來實作事件
- 宣告委派型別
- 宣告委派變數
- 觸發事件
- 訂閱事件
- 加入與移除事件處理常式
-
使用
event
關鍵字- 提供觸發事件的方法
-
.NET 事件程式設計的慣例
- 不要傳回值
- 在參數列提供來源物件
-
使用
EventArgs
來包裝參數 -
使用現成的
EventHandler
型別
-
更好的設計
- 事件參數僅提供唯讀屬性
- 避免意外中斷事件處理流程
- 使用事件存取子
- 管理大量事件
-
委派 vs. 事件
- 相同之處
- 相異之處
- 總結
-
基礎觀念
-
C# 6
-
nameof
表示式 - 字串插值
-
Null
條件運算子 -
唯讀自動實作屬性
- 微妙議題:明確實作介面的唯讀屬性
- 自動屬性的初始設定式
-
以表示式為本體的成員
- C# 7 的改進
- 索引初始設定式
-
using static
陳述式 - 例外篩選條件
-
catch
和finally
區塊中的await
-
-
C# 7
- 宣告輸出變數
-
Tuple 語法
- Tuple 元素名稱推導
- 無法推導元素名稱的情形
- Tuple 與匿名方法
-
分解式
- 為類別加入分解式
- 巢狀分解
-
模式匹配
-
模式匹配之
is
陳述式 -
模式匹配之
switch
陳述式
-
模式匹配之
-
區域函式
- 捕捉區域變數
- 更好讀的數值表示法
-
Ref Local 與 Ref Return
- Ref Local
- Ref Return
- 重新指派 Ref Local
- 用在哪裡?
- Ref 條件運算式
- Ref readonly
-
throw
運算式 -
async Main
方法 -
default
運算式- 用於泛型
-
實值型別具備參考語意
- in 參數
- 唯讀結構
- 只能放在堆疊的結構(ref struct)
- 非後置的具名引數
-
private protected
修飾詞 - 結語
-
C# 8
- 結構成員可宣告唯讀
- 預設介面實作
-
可為 Null 的參考型別
- 開啟 Nullable Reference Types 功能
- 在個別檔案中使用 #nullable 指示詞
- 專案與方案層級的設定
- 重點整理
-
C# 9
- 頂層語句
- new 物件時可省略型別
- Init-only Setter
-
記錄
- 編譯器產生的程式碼
- 複製物件
-
ToString
方法 -
Equals
方法 -
Deconstruct
方法 - 結語
- 樣式比對的改進
- 改寫回傳型別
- IEnumerator 更容易支援 foreach
- Lambda 捨棄參數
- Interop 方面的改進
- 其他改進
-
C# 10
- File-scoped 命名空間
-
全域引用
- 使用 C# 檔案來管理全域引用
- 透過專案檔來管理全域引用
- 字串常數插補
- 巢狀屬性樣式
- Lambda 語法的改進
- 分解式的改進
-
記錄的改進
- 以結構實作的記錄
-
ToString
方法可被密封
- 結構的改進
- 匿名型別的非破壞式變形
-
字串插補的效能改進
- 字串插補處理器
-
CallerArgumentExpression
特徵項 -
AsyncMethodBuilder
特徵項可套用至方法 - 其他改進
-
列舉器
-
從
foreach
說起 -
IEnumerator
介面 -
IEnumerable
介面 - 設計「可列舉的」類別
-
IEnumerable<T>
與IEnumerator<T>
介面 - 重點回顧
-
從
-
LINQ
-
基本觀念
- C# 的 LINQ 表示式
- 串接語法
- LINQ 提供者
-
IEnumerable<T>
vs.IQueryable<T>
- 延遲執行
- 重複求值
-
實務練習
- 篩選
- 排序
- 尋找單一項目
- 判斷是否符合特定條件
- 轉換物件
- 計數、最大/最小值、平均、彙總
- 分組
- 產生序列
- 擴增查詢結果
- 父子關聯
-
LINQ 進階練習
- 誰的分數最高?
- 重點回顧
-
基本觀念
-
附錄 A:Visual Studio 的專案設定
- 指定編譯時所使用的 C# 版本
- 調整編譯器的警告
-
附錄 B:安裝與設定 Visual Studio Code
- 安裝
- 版權頁
- 備註
關於出版社
This book is published on Leanpub by Ministep Books
Leanpub 100% 無風險的滿意保證
在付款後的 60 天內,只要點擊兩下,你就可以退書並獲得全額退款。退書是手工操作的,所以可能需要幾天時間來完成整個過程。
查看完整條款.
在$10的購買中賺$8,在$20的購買中賺$16
我們在$7.99或以上的購買中支付80%的版稅,並在$0.99至$7.98的購買中支付80%的版稅減去50美分的固定費用。在$10的銷售中賺$8,在$20的銷售中賺$16。因此,如果我們以$20銷售5000本未退款的書,您將賺取$80,000。
(是的,一些作者已經在Leanpub上賺了很多錢。)
實際上,作者在Leanpub上賺取了超過1300萬美元通過寫作、出版和銷售。
了解更多關於Leanpub寫作的信息
免費更新。無 DRM 限制。
如果你購買了 Leanpub 的書,只要作者更新書籍,你就可以獲得免費更新!許多作者使用 Leanpub 來發布他們正在編寫的書籍。所有讀者都可以獲得免費更新,無論他們何時購買書籍或支付了多少費用(包括免費)。
大多數 Leanpub 書籍均提供 PDF(適用於電腦)、EPUB(適用於手機和平板電腦)和 MOBI(適用於 Kindle)格式。書籍包含的格式將顯示在此頁面的右上角。
最後,Leanpub 書籍沒有任何 DRM 複製保護的胡說,因此你可以輕鬆地在任何支持的設備上閱讀它們。