| 型別分類 | 預設值 | 範例 |
| 數值型別 | 0 / 0.0 | default(int) = 0 |
| bool | false | default(bool) = false |
| char | '\0' (U+0000) | default(char) = '\0' |
| 列舉 | 0 (對應底層型別) | default(FileAccess) = 0 |
| 參考型別 | null | default(string) = null |
| 結構體 | 所有欄位遞歸預設值 | default(Point) = {X=0,Y=0} |
| Nullable<T> | null (HasValue=false) | default(int?) = null |
多變數宣告與鏈式指派
// 同型別多變數
int x = 1, y = 2, z = 3;
// 鏈式指派 (右結合)
int a, b, c;
a = b = c = 10; // c=10, b=10, a=10
// 解構宣告 (C# 7+)
var (name, age) = ("John", 30);
// 等同
string name = "John";
int age = 30;
// 捨棄變數 _
var (_, _, count) = GetTuple(); // 忽略前兩個
常見錯誤與最佳實務
| 錯誤 | 原因 | 修正 |
| 使用未初始化變數 | 流程分析未通過 | 宣告時指派、所有分支皆指派 |
| var 推論非預期型別 | 字面常值型別 (如 10 推論 int、10L 推論 long) | 顯性指定或加後綴 |
| 迴圈變數捕獲陷阱 | foreach (var x in xs) actions.Add(() => x) 全捕獲同一變數 | 區域複製 var tmp = x; actions.Add(() => tmp) |
| 遮蔽外層變數 | 內層區塊宣告同名 | 重命名、縮小作用域 |
命名慣例 (Microsoft 官方)
- 區域變數/參數:
camelCase (userName)
- 私有欄位:
_camelCase 或 camelCase (_userName)
- 常數:
PascalCase (MaxConnectionCount)
- 避免匈牙利標記法 (
strName, iCount)





本文對應《叩響 C# 之門》第 2.1 節整型變量(一)教學內容
- 上一篇文章: C# 整數型別範圍、溢位檢查與位元操作完整指南
- 下一篇文章: C# 資料在記憶體中的儲存方式:堆疊 vs 堆積、實值/參考型別、Boxing/Unboxing 完整圖解
Copyright ©
程式碼之家 All Rights Reserved