C# 高效取得目錄總檔案數(含子目錄)
前言 遞迴遍歷 Directory.GetFileSystemEntries 雖然直觀,但每層都會分配字串陣列、產生大量 GC 壓力,效能遠遜於作業系統原生的目
C# 透過 DNS API 查詢 MX 記錄完整實作
前言 .NET 基礎類別庫(System.Net.Dns)僅支援 A/AAAA 記錄查詢,無法直接取得郵件交換器(MX)記錄。本文示範如何透過 P/Invoke
C# 檔案操作完全指南:屬性、讀寫、刪除與進階技巧
前言 檔案操作是 C# 開發的基礎功夫。本文彙整常見場景:取得版本資訊、處理唯讀檔案刪除、判斷存在性、逐行讀寫、以及使用 Shell API 實現「移至資源回收
.NET 委派演進史:從緊耦合到事件模式的 C# 故事
序章:彼得與老闆的糾葛 想像一個場景:勤勞的工人彼得,吝嗇且多疑的老闆。老闆想隨時掌握進度,彼得卻不想被盯著。這個「通知對方」的需求,正是委派模式誕生的緣起。本
C# 呼叫 Windows API 修改螢幕解析度與重新率
前言 在開發全螢幕遊戲、多媒體播放器或自動化測試工具時,常需要以程式碼動態調整顯示器的解析度與重新率。.NET Framework 本身未提供直接的 Manag
C# 多線程程式設計:深入理解 ThreadPool 線程池
前言 在探索 C# 多線程程式設計的過程中,線程池是一個核心且不可或缺的概念。許多開發者初次接觸時可能感到困惑,透過查閱 MSDN 文件與社群資源,本文整理出關
C# 自製 ESMTP 郵件發送元件:支援驗證、附件、HTML 郵件完整原始碼
前言:為什麼不直接用 SmtpClient? .NET 內建 System.Net.Mail.SmtpClient 雖然方便,但在某些舊版框架、特殊伺服器需求、
C# 常用基礎語法與核心 API 速查手冊
前言:高效開發的「隨身字典」 C# 基礎類庫(BCL)提供了大量開箱即用的方法,但開發中常因記不住命名空間、參數順序或格式字串而中斷思路。本文將高頻 API 分
C# GDI+ 影像處理實戰:負片、灰階、亮度調整完整教學與原始碼
前言:像素級操作的基石 數位影像本質上是像素矩陣,每個像素包含 R、G、B 三個通道(24bpp 格式)。GDI+ 的 Bitmap 雖不直接暴露像素陣列,但透
.NET 列印核心技術深度解析:從 PrintDocument 到分頁佈局與硬邊距處理
前言:列印不只是「把內容丟給印表機」 在 .NET 中,System.Drawing.Printing 命名空間提供了強大的列印引擎,但要輸出專業級報表(頁首/
C# 實作農曆/陽曆轉換與節氣計算完整原始碼解析
專案簡介 本文提供一個完整的 C# 類別 CNDate,實現 1901~2050 年 之間的陽曆(公曆)與農曆(陰曆)雙向轉換、二十四節氣查詢、星座判斷、干支紀
C# TextBox 限制僅能輸入數字:TextChanged 事件過濾非數值字元完整解析
需求背景 在表單驗證、資料錄入介面中,常需限制 TextBox 僅接受數字(0-9)。本文分析常見作法優缺點,並提供健全的 TextChanged 過濾實作,解
C# 深度體驗:從 Hello World 到組件導向程式設計的十二講完整指南
系列簡介 本系列共十二講,系統性闡述 C# 語言特性與 .NET 平台機制,從基礎語法進階至組件導向程式設計、反射、互操作、非受控程式設計等核心主題。適合有程式
C# 操作 Excel 完整指南:COM 互操作、資料匯出、部署與避坑指南
前言 Excel 作為最通用的試算表格式,是企業報表、資料匯出、列印客製化的首選。本文完整說明 C# 透過 COM 互操作操作 Excel 的架構、核心物件模型
C# 解析 HTML 產生 DOM TreeView:使用 MSHTML 遞迴建構樹狀結構
需求背景 在開發瀏覽器嵌入應用、HTML 編輯器、爬蟲分析工具時,常需將 HTML 文件的 DOM 結構視覺化為 TreeView。本文示範使用 mshtml
C# HTML 相對路徑轉絕對路徑:使用 MSHTML 解析與修正 href/src 屬性
應用場景 爬蟲、郵件範本處理、CMS 內容儲存、離線瀏覽器等場景中,HTML 內容常包含相對路徑(如 /images/logo.png、../style.css