C# 一行代碼去除陣列重複元素:Distinct() 實戰與效能補充
最簡寫法 string[] s = { a, b, b, c }; string[] q = s.Distinct().ToArray(); // 結果:[a,
C# 自訂屬性 深度解析:從零建立 RecordAttribute 實現程式碼變更追蹤
為什麼需要自訂屬性? 傳統做法在類別頂端寫註解記錄建立/修改歷程: // 更新:Matthew, 2008-02-10, 修改 ToString() // 更新
C# 開發手記:註冊表操作工具類 RegEdit 實現與最佳實踐
類別設計目標 RegEdit 封裝了對 HKEY_LOCAL_MACHINE\SOFTWARE 下特定子鍵的讀寫、刪除與存在性檢查,供 WinForms 應用儲
C# 開發手記:基於 winmm.dll 的 MP3 播放類 MP3Player 與長路徑問題解決
為什麼選擇 winmm.dll? 在 .NET Framework 早期,System.Media.SoundPlayer 僅支援 WAV,若要播放 MP3,最
C# 開發手記:HTML 內容本地化處理類 HtmlOption 詳解
應用場景:為何需要 HtmlOption? 在開發個人日誌軟體 SaveClassic 時,核心需求是將網頁內容(HTML)離線保存。由於 HTML 中的圖片以
C# 開發手記:打造通用文件操作類 FileOption
前言 在開發小型工具軟體 SaveClassic 的過程中,為了簡化對本地檔案的讀寫、刪除與查詢,我將常用的檔案操作邏輯封裝成一個靜態工具類 FileOptio
C# 小軟體開發實戰(三):HTML 淨化管線、圖片本地化下載與相對路徑重寫服務
前言:從「能存」到「好讀」的關鍵一步 瀏覽器儲存的原始 HTML 充斥著: 追蹤腳本(Google Analytics、Facebook Pixel、廣告聯盟
C# 小軟體開發實戰(二):SQLite 參數化資料存取層、連線池管理與異步載入模式
前言:為什麼要封裝資料存取層? 上一篇確立了 SQLite + FTS5 架構。本篇聚焦 DataAccess 單例模式、參數化查詢防注入、連線生命週期管理、異
C# 小軟體開發實戰(一):SaveClassic 產品構思、資料設計與 IE 右鍵選單整合架構
專案緣起:解決開發者知識管理痛點 身為開發者,日常瀏覽技術文章、Stack Overflow 答案、API 文件時,常面臨: 收藏夾失效:網站關站、連結腐爛、
CLR Via C# 閱讀筆記(二):程式執行時期關係、JIT 編譯、方法表與物件建構完整流程
前言:從原始碼到機器碼的旅程 上一篇建立了類型系統靜態觀;本篇進入動態執行期:CLR 如何載入組件、JIT 編譯方法、建構方法表、在堆上建構物件圖。理解這條鏈路
深入 CLR Via C# 筆記(一):類型系統基礎與繼承機制
Jeffrey Richter 的經典巨著《CLR via C#》是 .NET 開發者進階必讀。本系列將逐章整理核心觀念,第一篇聚焦類型系統基礎與繼承機制,釐清
C# 多執行緒同步與互斥(四):Monitor、lock、MethodImpl、ReaderWriterLock 完整實戰指南
前言:並發世界的兩大核心問題 在多執行緒環境下,共享資料存取面臨兩大挑戰: 互斥:同一時間僅允許單一執行緒進入臨界區(保護共享狀態一致性) 同步:執行緒間協調
C# 執行緒池深度解析(三):ThreadPool 佇列工作項目、AutoResetEvent 同步與最大/最小執行緒數調校
前言:為什麼需要執行緒池? 在高併發伺服器應用中,頻繁建立/銷毀 Thread 會造成: 記憶體壓力:每個執行緒預設 1 MB 堆疊空間 CPU 切換開銷:上
C# DynamicObject 與 ExpandoObject 實戰:動態型別、執行時成員繫結與自訂動態行為
前言:為什麼需要動態型別? C# 4.0 引入 dynamic 關鍵字與 DLR(動態語言執行環境),主要解決: 與動態語言(Python、Ruby、Java
C# 有參屬性(索引器)完整指南:多重索引、IndexerName 屬性與跨語言互操作
前言:索引器是什麼? 若無參屬性對應「欄位存取」,則索引器對應「陣列/集合存取」。它讓類別實例支援 obj[index] 語法,本質是重載 [] 運算子。C#
C# 無參屬性深度解析:從封裝原理到自動實現屬性的效能與序列化陷阱
前言:為什麼要用屬性而非公開欄位? 面向對象設計的核心原則之一是資料封裝。直接公開 public string Name; 會導致: 無法在設定值時加入驗證邏
C# 仿 IBOX 程式管理器:系統圖示提取、無邊框視窗拖曳與熱鍵攔截實戰
專案背景與功能概覽 本專案為早期(2009 年)練習作品,模仿經典 IBOX 風格打造一個輕量級桌面程式啟動器。核心功能包含: 拖曳檔案/捷徑至介面自動建立圖
C# 通用樹形結構建構器:泛型委託實現多型樹節點工廠模式
前言:為什麼需要通用樹建構器? 在實際開發中,樹形結構無處不在:組織架構、選單權限、分類目錄、BOM 物料清單等。雖然 WinForms/WebForms 提供