C# 核心集合與字串操作速查筆記(進階篇)
前言 本文整理 C# 常用集合類別(Queue、Stack、Dictionary/Hashtable)與字串處理(String、StringBuilder、Re
C# 確保單一程式實例運行:Process 類別實作與最佳實踐
問題場景 防止使用者重複啟動應用程式(如雙擊圖示多次),需在啟動時檢測是否已有相同程式實例在運行,若存在則將其視窗帶至前景並結束新啟動的實例。 核心思路
C# 設定 Windows Hook 捕捉滑鼠事件:執行緒專用 Hook 實作全攻略
前言:何謂 Windows Hook? Windows Hook(鉤子)是一種強大的機制,允許應用程式攔截並處理系統訊息,如鍵盤、滑鼠事件。透過 SetWind
深入解析單例模式:從設計原理到 C# 實作與 .NET 應用
前言:設計模式的基石 提到軟體設計模式,不得不提「四人幫」(Gang of Four,GoF)經典著作《設計模式:可複用物件導向軟體的基礎》。這本書被無數資深開
C# 伺服器負載過高診斷與優化:運算子多載、非同步、記憶體管理實戰指南
前言 「幫幫我,我負載過重」——這是許多 C# 伺服器開發者的心聲。本文從語言層面的運算子多載設計原則切入,延伸至非同步程式設計、記憶體/GC 優化、鎖競爭降低
C# 程式碼撰寫規範:命名慣例、格式化、註釋與最佳實務完整指南
前言 一致的程式碼風格能大幅提升可讀性、可維護性與團隊協作效率。本文整理 C# 官方慣例與業界最佳實務,涵蓋命名規則、排版格式、註釋規範三大面向,並提供可直接套
C# 全域鍵盤鉤子實作:使用 SetWindowsHookEx 攔截鍵盤訊息
前言 在 Windows 應用程式中實作全域熱鍵、鍵盤記錄或輸入攔截,需使用 Win32 API SetWindowsHookEx 安裝鍵盤鉤子 (WH_KEY
C# 使用 CDO/ADSI 在 Active Directory 建立使用者與 Exchange 信箱
前言 在企業環境中,常需透過程式自動化建立 AD 使用者帳號並啟用 Exchange 信箱。本文示範使用 CDO.PersonClass (Collaborat
C# 開發實用技巧 33 則:DataGrid、WinForms、資料庫、Excel、安裝部署完全指南
前言 本文彙整 33 個 C# 開發常見問題與解決方案,涵蓋 DataGrid 自訂、WinForms 控制技巧、ADO.NET/SQL 技巧、Excel 匯出
C# 外掛架構改良:從簡單介面到工廠模式與版本管理的可擴充設計
前言 針對早期「C# 外掛架構實戰」的回饋,本文重構設計:引入宿主外掛與擴充外掛區分、連線介面、版本資訊、工廠模式建立實例,並以 UML 靜態結構圖說明類別關係
C# 呼叫 Windows API 列舉區域網路主機 (WNetEnumResource 實作)
前言 在 Windows 環境下列舉網路上的電腦、共用資源與網域,可透過 mpr.dll 提供的 WNetOpenEnum、WNetEnumResource、W
C# 實作 QQ 驗證碼辨識(OCR):特徵庫比對法完整原始碼解析
前言 本文分析一套針對 QQ 早期驗證碼(49×20 像素、4 字元)的辨識系統,採用像素特徵向量比對法:將字元二值化後,按行計算黑色像素位模式組成 20 維向
走進 C#(三):語言演進脈絡、核心特性與編譯器入門
前言:站在巨人的肩膀上 本章作為 C# 學習旅程的鋪墊,梳理了程式語言發展史、C# 與主流語言的比較、核心特性概覽以及編譯器基本用法。雖然內容廣泛,但對初學者建
C# 多網卡環境下 TcpListener 正確監聽綁定策略
前言 在多網卡(多 IP)伺服器環境中,C# 的 TcpListener 需正確指定綁定的本地端點(IP + Port)。本文說明如何使用 IPEndPoint
C# 遞歸列舉目錄下所有檔案的工具類別實作
前言 在檔案系統操作中,遞歸遍歷目錄樹是常見需求。本文提供一個可直接使用的 DirList 類別,支援指定起始路徑、選擇是否遞歸子目錄,並回傳 ArrayLis
C# Windows Forms 入門三部曲:從建立表單到溫度轉換完整實作
前言 C# 是 .NET Framework 的核心開發語言,配合 System.Windows.Forms 命名空間可快速建立桌面應用程式。本文以「攝氏/華氏
使用 Visual C# 與 DirectShow 開發媒體播放器完整教學
前言 DirectShow 是 Microsoft 提供的多媒體串流架構,透過 COM 介面支援音訊/視訊播放、DVD、串流媒體、播放清單等功能。本文示範如何在
C# 類別屬性深度解析:存取子、唯讀、寫入與完整範例
前言 在 C# 中,屬性 是封裝類別內部資料的核心機制。相較於直接公開欄位,屬性透過 get(讀取)與 set(寫入)存取子,提供資料驗證、延遲計算、事件通知等