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 語法。

關於作者

Michael Tsai
Michael Tsai

Hi there! I'm a technical writer with 10+ years of experience in software development and 16 awards of Microsoft .NET MVP.

著作:《C# 本事》、《.NET 本事:非同步程式設計》、《.NET 相依性注入》(簡體中文版:.NET 依賴注入)

譯作: 軟體構築美學 (Brownfield Application Development in .NET)、物件導向分析設計與應用(Object-Oriented Analysis and Design with Applications 3rd Edition)、軟體工程與 Microsoft Visual Studio Team System.

部落格: https://www.huanlintalk.com

本書也包含在這些優惠組合裡:

$29.45
分開購買
$23.00
最低售價
$26.50
建議售價
$37.95
分開購買
$28.80
最低售價
$34.00
建議售價

目錄

  • 關於本書
    • 本書定位
    • 閱讀方法
    • 書寫慣例
    • 本書用到的工具
    • 範例程式與補充資料
    • 版本更新紀錄
  • 關於作者
  • 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 陳述式
    • 例外篩選條件
    • catchfinally 區塊中的 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 天內,只要點擊兩下,你就可以退書並獲得全額退款。退書是手工操作的,所以可能需要幾天時間來完成整個過程。
查看完整條款.

80% 的版稅。在一本 20 美元的書上賺取 16 美元。

我們支付 80% 的版稅。這不是打字錯誤:你在20美元的銷售中賺取16美元。如果我們賣出5000本你的書或課程的非退款副本,每份20美元,你將賺取80,000美元

(是的,有些作者在Leanpub上已經賺了比這更多。)

事實上,作者已經通過在Leanpub上寫作、出版和銷售賺取了超過1200萬美元

了解更多有關在Leanpub上寫作的資訊

免費更新。無 DRM 限制。

如果你購買了 Leanpub 的書,只要作者更新書籍,你就可以獲得免費更新!許多作者使用 Leanpub 來發布他們正在編寫的書籍。所有讀者都可以獲得免費更新,無論他們何時購買書籍或支付了多少費用(包括免費)。

大多數 Leanpub 書籍均提供 PDF(適用於電腦)、EPUB(適用於手機和平板電腦)和 MOBI(適用於 Kindle)格式。書籍包含的格式將顯示在此頁面的右上角。

最後,Leanpub 書籍沒有任何 DRM 複製保護的胡說,因此你可以輕鬆地在任何支持的設備上閱讀它們。

了解更多有關 Leanpub 電子書格式和閱讀位置的資訊

在 Leanpub 上寫作和出版

作家和出版社使用 Leanpub 來出版正在進行中和已完成的書籍,就像這本書一樣。您也可以使用 Leanpub 來撰寫、出版和銷售您的書籍!Leanpub 是一個強大的平台,適合嚴肅的作家。它結合了簡單、優雅的寫作和出版工作流程,以及一個可以銷售正在進行中的電子書的線上商店。對於作家來說,Leanpub 是一部神奇的打字機:您只需撰寫純文字,然後點擊一下按鈕就可以出版您的電子書。就是這麼簡單。

了解更多有關 Leanpub 上的寫作