多線程入門系列(十一):ThreadPool 線程池完整解析
21.7 線程池 本系列面向初學者,針對首次接觸線程概念的讀者。高手請見諒,歡迎批評指教。 說明 線程池相關程式碼用到委派概念,請參考委派相關內容。 核心概
C# KeyDown 與 KeyUp 事件完整指南
按鍵事件流程 鍵盤按下並釋放過程中會依序觸發三個事件: KeyDown → KeyPress → KeyUp KeyDown 與 KeyUp 可捕捉特殊鍵(如
C# KMP 字串比對演算法完整實作與原理詳解
問題定義 在字串 s 中,從位置 pos 開始,尋找第一個與目標字串 t 相符的子字串起始位置。 KMP 演算法核心思想 避免暴力比對中的重複回溯,利用目標字
C# MouseDown 與 MouseUp 事件完整解析
1. MouseDown 事件 當滑鼠指標位於控制項上且按下滑鼠按鍵時觸發。 語法: public event MouseEventHandler MouseD
C# MouseClick 與 MouseDoubleClick 事件詳解
1. MouseClick 事件 滑鼠單擊控制項時觸發。 語法: public event EventHandler MouseClick EventHandl
設計模式之旅:策略模式完整指南與五種實作方式
摘要 Head First Design Patterns 以策略模式作為首個範例,陳俊杉教授授課也以此為起點,可見策略模式極適合初學者入門。 意圖 定義一族
設計模式之旅:模板方法模式詳解與雙重實作
摘要 模板方法模式是學習的第二個模式,理解容易卻極具實用價值。 意圖 定義演算法的骨架,將某些步驟延遲到子類別實作,讓子類別在不改變演算法整體架構下,重新定義
設計模式之旅:以 C++ Template 改良策略模式
背景 前文使用策略模式讓 Grapher 繪製三角形、圓形、正方形。後來需求變更,希望在形狀中繪製文字。 執行結果預期: Draw Hello Shape!!
設計模式之旅:以 C# Generics 改良策略模式
摘要 前文使用 C++ template 改良策略模式,本文改用 C# 2.0 引入的泛型來達成相同目標。 問題背景 在策略模式中,為讓策略完整存取物件的 p
設計模式深度解析:適配器模式 (Adapter Pattern) 完整實戰
模式意圖 將類別的介面轉換為客戶期望的另一介面,使原本因介面不相容而無法合作的類別能一起工作。別名:Wrapper (包裝器)。 兩種實作形式 1. 類別適
設計模式實戰:使用泛型改良適配器模式 (C#/C++/VB)
問題背景 經典類別適配器需對每個被適配類別撰寫專屬適配器 (TriangleDrawAdapter, CircleDrawAdapter...),導致類別爆炸。
C# 擴展方法進階實戰:改良 ScottGu 的 In 擴展
前言 ScottGu 早期示範的 In 擴展方法雖展示擴展語法,但實用性有限。本文逐步改良:params 簡化呼叫 → 泛型約束保證型別安全,打造生產級 In
C# 擴展方法進階實戰:Aggregate 聚合運算深度解析與改良
前言 Enumerable.Aggregate 是 LINQ 中最基礎也最強大的聚合運算,其他聚合方法 (Sum, Max, Min, Average) 皆可視