首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> C# >> 關於C#

C# 學習教程大綱:從入門到進階的 18 章完整知識圖譜

     編輯:關於C#

前言:結構化學習路徑,建立完整 C# 認知框架

本大綱涵蓋 C# 核心語法、.NET 平台基礎、物件導向設計、進階特性、互操作、效能優化、部署版本控制等 18 章,適合初學者循序漸進、資深開發者查漏補缺。每章標註核心知識點與實戰應用場景。

課程大綱

第 1 章:.NET 程式設計語言 C#

  • 1.1 Microsoft.NET:新革命
  • 1.2 .NET 與 C# 關係
  • 1.3 C# 語言特點:簡單、現代、物件導向、型別安全、平台獨立、組件導向

第 2 章:執行環境:全面了解 .NET

  • 2.1 .NET 架構:CLR + FCL + 應用模型
  • 2.2 CLR(通用語言執行平台)、CLS(通用語言規格)、CTS(通用型別系統)
  • 2.3 .NET 開發工具:Visual Studio、VS Code、.NET CLI、Roslyn、NuGet

第 3 章:撰寫第一個應用程式

  • Hello World 完整流程:原始碼 → csc 編譯 → PE/IL/中繼資料 → CLR 載入 → JIT → 執行
  • 命令列編譯與 Visual Studio 專案結構(.csproj、Program.cs、依賴管理)

第 4 章:資料型別

  • 4.1 實值型別:簡單型別、結構體、列舉、Tuple、可為 null 實值型別 (int?)
  • 4.2 參考型別:類別、介面、委派、陣列、字串、object、dynamic
  • 4.3 裝箱/解箱:效能代價、泛型避免裝箱、Span<T> 避免配置

第 5 章:變數與常數

  • 5.1 七種變數:靜態、實例、實值參數、參考參數、輸出參數、參數陣列、區域變數
  • 5.2 常數 const vs 唯讀 readonly:編譯期 vs 執行期、版本控制影響
  • 預設值規則、確定性指派分析

第 6 章:型別轉換

  • 6.1 隱含轉換:安全、無資料遺失(衍生→基底、實值型別擴展)
  • 6.2 顯式轉換:需轉型運算子、可能遺失精度/擲出例外
  • 使用者定義轉換:implicit/explicit operator、IConvertible、TypeConverter

第 7 章:運算式與運算子

  • 7.1 運算子優先序與結合性
  • 7.2 算術、指派、關係、邏輯、位元、移位運算子
  • 7.3 特殊運算子:is/as、typeof/nameof、??/??=、?.、default、sizeof/stackalloc、checked/unchecked
  • 7.4 運算子多載規則與範例

第 8 章:流程控制

  • 8.1 條件:if/else、switch、switch expression(模式比對)
  • 8.2 迴圈:while、do-while、for、foreach(IEnumerable/模式基礎)、for 範圍 (C# 8+)
  • 8.3 條件編譯:#define/#if/#elif/#else/#endif、ConditionalAttribute
  • 8.4 例外處理:try/catch/finally、throw、Exception 階層、自訂例外、ExceptionDispatchInfo、try/catch/finally 模式基礎 (C# 7+)

第 9 章:物件導向程式設計基礎

  • 9.1 封裝、繼承、多型、抽象四大支柱
  • 9.2 UML 類別圖、序列圖、狀態圖
  • 9.3 物件導向分析 (OOA):用例、領域模型
  • 9.4 物件導向設計 (OOD):SOLID 原則、設計模式(建構型、結構型、行為型)

第 10 章:類別深度解析

  • 10.1 類別宣告:修飾符(public/internal/abstract/sealed/static/partial)
  • 10.2 類別成員:欄位、屬性、方法、事件、索引子、運算子、建構函式、解構函式
  • 10.3 建構函式:實例/靜態、鏈結(this/base)、欄位初始化順序、存取修飾符、單例模式
  • 10.4 解構函式/Finalize/IDisposable/SafeHandle(詳見第 17 章)

第 11 章:方法完全指南

  • 11.1 方法宣告:簽章、回傳型別、參數清單
  • 11.2 參數傳遞:ref/out/in/params、預設參數、具名參數
  • 11.3 靜態 vs 實例方法
  • 11.4 方法多載:簽章差異、解析規則
  • 11.5 運算子多載:成對多載、對稱性

第 12 章:欄位與屬性

  • 12.1 欄位:實例/靜態、readonly/const、存取修飾符
  • 12.2 屬性:自動實作、get/set/init、邏輯驗證、唯讀/唯寫
  • 12.3 繼承:virtual/override/sealed/abstract/new、靜態屬性
  • 12.4 現代特性:required、init、record 自動屬性

第 13 章:事件與索引子

  • 13.1 事件:event 關鍵字、委派基礎、EventHandler<T>、標準模式、add/remove 存取子
  • 13.2 索引子:this[] 語法、多參數、介面索引子、Index/Range (C# 8+)

第 14 章:C# 繼承詳解

  • 14.1 繼承機制:單一繼承、基底建構函式鏈結、base 存取
  • 14.2 多型:虛擬方法、覆寫、抽象類別/方法、介面實作
  • 14.3 密封:sealed class、sealed override、防止脆弱基底類別
  • 14.4 繼承中屬性覆寫細節

第 15 章:C# 介面技術

  • 15.1 組件導向程式設計:介面即契約、多型替代繼承
  • 15.2 介面定義:方法、屬性、事件、索引子、靜態成員 (C# 8+)、預設實作 (C# 8+)
  • 15.3 介面實作:隱含/顯式實作、菱形問題解決
  • 15.4 抽象類別 vs 介面:選擇指南

第 16 章:組織應用程式

  • 16.1 組件:.dll/.exe、資訊清單、強式名稱、版本號(Major.Minor.Build.Revision)
  • 16.2 命名空間:邏輯組織、巢狀、global using、file 型別
  • 16.3 using 指示詞:匯入、別名、靜態導入
  • 16.4 專案結構最佳實務:分層架構、專案參考、NuGet 套件管理

第 17 章:C# 檔案操作管理

  • 17.1 .NET I/O 架構:Stream 抽象、FileStream、MemoryStream、PipeStream
  • 17.2 檔案儲存:File/FileInfo/Directory/DirectoryInfo、路徑操作 (Path)
  • 17.3 讀寫方法:StreamReader/Writer、BinaryReader/Writer、File.ReadAllText/WriteAllBytes、JsonSerializer
  • 17.4 非同步檔案操作:ReadAsync/WriteAsync、FileStream 選項(FileOptions.Asynchronous)、IAsyncEnumerable 串流處理

第 18 章:補充進階主題

  • 18.1 登錄表程式設計:Microsoft.Win32.Registry/RegistryKey、權限、遠端登錄
  • 18.2 呼叫 C++/VB 組件:P/Invoke、COM Interop、DllImport、封送、SafeHandle
  • 18.3 版本控制:new/override 意圖表達、組件版本重導向、AssemblyVersion vs AssemblyFileVersion
  • 18.4 程式碼優化:Finalize 代價、StringBuilder、Span/Memory、內聯、ValueTask、ArrayPool、GC 模式
  • 18.5 C# 關鍵字完整表(含內容關鍵字:var、async、await、yield、where、select 等)

學習建議與資源

  1. 動手實作:每章配合程式碼練習,使用 dotnet new console 快速建立專案。
  2. 官方文件:Microsoft Learn C# Guide、.NET API Browser。
  3. 社群資源:C# 語言設計倉庫、NuGet Gallery、Stack Overflow C# 標籤。
  4. 工具鏈:Visual Studio 2022、VS Code + C# Dev Kit、JetBrains Rider、dotnet CLI、ildasm/ILSpy/dnSpy、PerfView/dotnet-trace。
  5. 進階主題:非同步程式設計、泛型進階、反射/發射、Source Generators、Native AOT、Blazor/MAUI/ASP.NET Core 實戰。

結語

C# 與 .NET 生態系統龐大而精深。本大綱提供結構化知識地圖,助您從語法入門進階至平台精通。建議依序學習前 10 章奠基,再按專案需求深入特定章節。持續實作、閱讀原始碼、參與開源貢獻,方能成為頂尖 C# 工程師。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved