Effective C# 原則 36:善用 .NET 執行階段診斷 (下)
設定追蹤接聽項 TextWriterTraceListener 將診斷資訊寫入 MyListener.log。initializeData 指定檔案名稱。極少數
VC# 2005 快速入門:使用 if 陳述式 (2)
巢狀 if 陳述式與日期比較練習 巢狀 if 可將多個布林運算式串聯,依序測試直到其中一個為 true。範例:根據 day 值指派星期名稱。 練習步驟 開啟
VC# 2005 快速入門:使用 if 陳述式 (3)
實作日期比較邏輯 compare_Click 取得兩個 DateTimePicker 的值,呼叫 dateCompare 比較,並透過 show 方法顯示結果。
VC# 2005 快速入門:使用 if 陳述式 (4)
執行驗證日期比較結果 啟動應用程式,兩個 DateTimePicker 均為今日。 點擊 Compare,文字方塊正確顯示:first == second :
VC# 2005 快速入門:使用 do 陳述式 (4)
除錯觀察 do 迴圈內部變數 進入 do 迴圈,區域變數 digitCode、digit 出現在「區域變數」視窗。 執行 int digitCode = 0
VC# 2005 快速入門:使用 do 陳述式 (5)
除錯逐步執行 do 迴圈 繼續點選「逐陳述式」觀察迴圈執行流程: 黃色箭頭指向 while (amount != 0);,amount=269 條件為 tru
VC# 2005 快速入門:複合指派運算子
簡化算術與指派 在變數上執行算術運算並指派回原變數是常見操作。C# 提供複合指派運算子簡化寫法: answer = answer + 42; // 傳統寫法
Effective C# 第 5 章:與 Framework 協同工作
善用現有工具,勿重複造輪子 .NET Framework 提供豐富的類別庫,了解越多,自行撰寫的程式碼越少。框架庫能處理大量常見工作。 本章重點 面對多重選
Effective C# 原則 34:建立大顆粒度的 Web API (下)
資料傳輸顆粒度的權衡 遠端呼叫中,單一屬性傳輸顆粒度太細;單一客戶物件可能太粗。需根據業務情境設計適當的資料集合。 案例:百萬客戶的線上賣場 假設 100 萬
Effective C# 原則 33:限制型別可視性 (上)
預設 public 是反模式 Visual Studio 建立類別預設為 public,但大多數類別應為 internal。越低的可視性,未來修改系統時受影響範
Effective C# 原則 33:限制型別可視性 (下)
以介面隔離實作細節 當需求變更(如新增國際電話驗證)時,不應在原類別堆疊邏輯,而應定義介面並將具體實作隱藏為 internal 類別: public inter
Effective C# 原則 32:選擇小而內聚的組件
組件大小與內聚性的平衡 開發者常將所有類型塞進單一組件,這不利於重用與局部更新。合理的組件應「大小適中、包含少量公用型別」,並具備高內聚性:能用一句話描述其職責
Effective C# 原則 31:選擇小而簡單的函式 (上)
手動優化可能適得其反 經驗豐富的程式設計師常嘗試手動優化,例如合併函式以減少呼叫開銷,但在 .NET 中這往往阻礙 JIT 編譯器發揮最佳效能。最佳策略是用最清
Effective C# 原則 31:選擇小而簡單的函式 (下)
JIT 編譯與小函式的優勢 將函式分解為小單元,JIT 編譯器僅需編譯實際執行的路徑。若在單一大型函式中包含多個分支,首次呼叫時 JIT 會編譯所有分支,造成浪
Effective C# 原則 30:選擇符合 CLS 標準的組件 (上)
為何需要 CLS 相容性 .NET 執行環境具有語言獨立性,開發者可使用不同的 .NET 語言撰寫組件。為了讓其他開發者能以任意語言使用你的組件,你建立的組件必
Effective C# 原則 30:選擇符合 CLS 標準的組件 (下)
確保公用與受保護成員的語言中立性 實現 CLS 相容性的第二條規則取決於開發者自身:必須確保所有公用及受保護的作業都是語言無關的,同時也要保證所使用的多型介面中
Effective C# 原則 30:優先選擇符合 CLS 的組件(三)
介面與組件的 CLS 相容性 你可以在任何 CLS 相容類別中實作它。然而,若在未標記 CLS 相容的組件中定義此介面,則此 IFoo 介面並非 CLS 相容。
Effective C# 第 4 章:建立基於二進制的元件(一)
二進制元件與組件 隨類別數量增加,建立二進制元件成常態:想分離部分功能。不同處在於二進制元件可獨立保存離散功能。建立的組件組件可方便共享邏輯、跨語言程式設計、部