PDF.NET 智慧表單:一行程式碼完成 CRUD 並支援線上重新設計無需重新編譯
背景 工作流系統常需自訂表單(如請假單)。傳統做法:程式設計師開發、編譯、部署(成本高);或開發複雜的「表單設計器」(開發成本極高)。PDF.NET 提供第三條
簡單工廠模式:從硬式編碼到解耦建立邏輯的重構實戰
動機 初學者常在 Main 中直接用 if/else 或 switch 判斷運算符號並計算,導致「高耦合、難擴充、違反單一職責」。簡單工廠模式將物件建立邏輯集中
C# 多型詳解:虛擬方法、覆寫、抽象類別、介面與 new/override 差異
多型定義 同一符號在不同情境下呈現不同行為。分為編譯時多型(多載)與執行時多型(繼承+虛擬方法/介面)。 1. 方法多載 同名稱、不同參數清單(型別/個數/順
C# 遞迴列印資料夾下所有檔案(含子目錄)完整範例
主控台互動版 using System; using System.IO; class ListAllFilesDemo { public stati
C# 取得指定目錄下檔案與子目錄:DirectoryInfo 常用方法與遞迴遍歷
DirectoryInfo 核心方法 方法回傳型別說明 GetFiles()FileInfo[]取得目錄下檔案(不含子目錄),支援萬用字元如 *.txt。
C# 刪除多層資料夾內所有檔案但保留根目錄的兩種做法
情境 需清空根資料夾下所有子目錄與檔案,但保留根目錄本身。 方法一:直接刪除根目錄再重建(最簡潔、效能最佳) void DeleteAllFilesKeepR
C# 入門筆記:.NET 架構、資料型別、類別、繼承、多型、例外處理與資料繫結
.NET Framework 三大核心 CLR (Common Language Runtime):所有 .NET 語言共用的執行引擎,負責記憶體管理、垃圾回
C# 觀察者模式實作:抽象主題 Subject 與觀察者 Observer
簡介 觀察者模式定義物件間一對多依賴,當主題狀態改變,自動通知所有觀察者。本文展示抽象 Subject、Observer、具體實作與用戶端範例。 抽象主題
斐波那契數列遞歸優化:從指數級到線性級的演算法改良
簡介 遞歸實作斐波那契數列 F(n) = F(n-1) + F(n-2) 雖直觀,但時間複雜度為 O(2^n),n=40 即明顯卡頓。本文示範透過「帶狀態遞歸」
C# 偵測使用者閒置:以滑鼠位置輪詢判斷是否無人操作
簡介 在自助終端機、Kiosk 或長時間未操作需自動登出的場景,可透過定時器輪詢滑鼠游標位置,若超過指定秒數未移動則觸發事件。本文提供完整 WPF 實作範例(W
C# Dictionary 鍵值對排序三種做法:SortedDictionary、LINQ、OrderBy 擴充方法
簡介 Dictionary<TKey,TValue> 本身不保證順序。若需依鍵排序,可使用 SortedDictionary(自動升序)、LINQ
WCF WS-Addressing 端點參考與 MessageHeaders 實作指南
簡介 WS-Addressing 為 SOAP 訊息提供標準化定址機制。WCF 透過 MessageHeaders、EndpointAddress、Messag
C# 跳躍陳述式詳解:break、continue、goto、return
簡介 跳躍陳述式改變程式執行流程。C# 提供四種:break、continue、goto、return。本文透過範例說明各自行為與適用情境。 1. break
C# 透過 P/Invoke 呼叫 C++ 動態連結庫 (DLL) 完整指南
簡介 當專案需整合 C/C++ 撰寫的高效能演算法、硬體驅動或避免原始碼外洩時,可將核心邏輯編譯為原生 DLL,再由 C# 透過 DllImport (P/In
ASP.NET GridView TemplateField 實作列內按鈕與 RowCommand 處理
簡介 在 GridView 中使用 TemplateField 放置 ImageButton 或 LinkButton,並透過 CommandName、Comm
C# 擴充方法:為 string 型別新增 IsEmail 與 Quot 功能
簡介 擴充方法允許在不修改原始型別、不繼承的情況下,為既有型別「新增」方法。本文示範為 string 加入 IsEmail() 驗證與 Quot(string)