代碼建立 C 類實例,C 繼承 A 並包含 B 成員。輸出順序:**B → A → C**。
new C() 調用 C 的構造函數。A 的無參構造函數** (若無顯式 base())。A 構造函數執行 → 輸出 'A'。C 構造函數,**初始化成員變數 B b** → 調用 B 無參構造函數 → 輸出 'B'。(注:C# 成員初始化在基類構造函數**之後**、衍生類構造函數體**之前**)C 構造函數體執行 → 輸出 'C'。| 階段 | 動作 | 輸出 |
|---|---|---|
| 1 | 基類構造函數 | A |
| 2 | 成員變數初始化 (B b) | B |
| 3 | 衍生類構造函數體 | C |
string[] s1 = s.Split('.') 的疑問此行代碼**與建構順序無關**,可能是開發者殘留的測試代碼或為後續邏輯準備。若未使用可刪除。