文章
概念和陷阱,用可執行的證據講清楚。凡是六行程式碼能證明的結論,絕不空口說。
文章正文目前是英文版(程式碼通用),中文版逐篇翻譯中。
語言核心
- 為什麼 C# 裡 7 / 2 = 3?整數除法詳解
兩邊都是 int → 小數被丟棄、向零截斷。三種修法、負數規則,以及它什麼時候恰恰是你想要的。
- var 與顯式型別——各自什麼時候對
var 是編譯期推斷,不是動態型別。哪裡它幫忙,哪裡它藏起關鍵資訊。
- struct 與 class——值語義 vs 引用語義
賦值時 struct 複製、class 起別名。讓這一切點透的改名實驗,以及各自的適用場景。
- == 與 .Equals()——什麼時候用哪個
對基元型別它們一致;在 null 處理和"相等"的定義上分道揚鑣。大小寫不敏感比較的正確姿勢。
- string 與 StringBuilder——不可變性以及 += 陷阱
為什麼 s.Replace() 什麼都沒改、為什麼迴圈裡 += 是 O(n²),以及"插值、Join、StringBuilder"三段論。