C# 使用 yield return 實作陣列全排列演算法
前言 全排列是從 n 個不同元素中取出所有元素(m=n),按特定順序排列的所有可能組合。C# 的 yield return 配合遞迴,能以極簡潔的代碼實現惰性產
C# 使用 iTextSharp 封裝 PDF 文件操作類
簡介 iTextSharp 是 .NET 平台上廣泛使用的 PDF 生成與操作庫。本文提供一個封裝良好的 PDFOperation 類別,簡化常見的 PDF 文
C# NPOI/EPPlus 實現 DataTable 與 Excel 雙向轉換最佳實踐
前言 早期使用 Microsoft.Jet.OLEDB 或 Microsoft.ACE.OLEDB 操作 Excel 需安裝驅動程式、易受 32/64 位元限制
C# CSV 與 DataTable 雙向轉換工具類完整實作
前言 CSV 因其輕量、通用特性,常作為資料匯入匯出格式。本文提供一個健壯的 CsvHelper 靜態類,支援 DataTable ⇄ CSV 雙向轉換、自訂分
C# 取得漢字拼音首字母高效演算法與完整實作
前言 中文排序、索引、搜尋提示等場景常需將漢字轉為拼音首字母。本文提供兩種實作:GB2312 區位碼對照表法(效能最佳、無外部依賴)與 字元比對法(適合簡易專案
C# Base64 加密解密工具類完整實作與最佳實踐
前言 Base64 雖非加密演算法,但常作為資料編碼與簡易混淆手段。結合對稱加密(如 TripleDES)可構建輕量級機密資料保護方案。本文提供一個可直接投入生
C# 目錄與檔案操作工具類大全:存在性檢查、遞迴列舉、複製移動刪除、路徑處理與跨平台注意事項
核心命名空間與類別 System.IO:`Directory`、`File`、`Path`、`FileInfo`、`DirectoryInfo`、`FileS
C# 反射 實戰:動態映射審核意見到列印模型,消除 if-else 鏈的領域建模技巧
業務場景:單據列印需動態填充多層級審核人員 系統需列印付款單據,包含分管領導、財務審核、財務經理、財務總監、CEO 等 5 個層級的審核人姓名。審核層級可擴充
C# 6.0 新特性深度解析:自動屬性初始化、主建構函式、nameof、字串插值、null 條件運算子與更多
C# 6.0 (Visual Studio 2015, .NET 4.6) 釋出的語法糖大幅提升開發效率與程式碼可讀性。本文系統整理核心特性與實戰範例。 1.
C# 雜湊加密與隨機安全碼產生:SHA512、PBKDF2 與現代金鑰衍生最佳實踐
原始碼問題分析 原文提供的 `HashEncoding` 使用 SHA512 直接雜湊字串,並將位元組轉為 數字+O 字串,存在嚴重缺陷: ❌ 無鹽值,相同輸
C# FTP 客戶端封裝類:連線管理、上傳下載、目錄操作與被動模式完整實作
設計目標 封裝 System.Net.FtpWebRequest (或 FluentFTP 現代庫) 為領域導向的介面,提供:連線池管理、自動重試、被動/主動模
C# GridView 匯出 Excel 完整方案:三種渲染模式、自訂檔名、編碼處理與大數據優化
三種匯出模式對比 模式原理優點缺點適用場景 HTML 渲染 (Response.Write)GridView.RenderControl → HTML 表格
C# 隨機數產生器封裝:ThreadStatic 隔離、密碼學安全與效能優化完整指南
Random 類別的核心問題 問題原因後果 多執行緒競爭Random 非執行緒安全,內部種子更新有競態產生 0、重複序列、效能退化 (自旋等待) 種子預測性預
C# INI 檔案讀寫封裝類:P/Invoke Kernel32 API 完整實作與現代替代方案
為什麼還在用 INI? 雖然 XML/JSON/YAML/AppSettings 是現代主流,但 INI 仍廣泛用於: 傳統桌面應用相容舊版設定 嵌入式/無檔
C# IP 位址範圍判斷:IPv4 轉長整數與 CIDR 遮罩比對完整實作
核心原理:IPv4 即 32 位元無號整數 IPv4 位址 A.B.C.D 等價於 (A << 24) | (B << 16) | (C << 8) | D。將
C# 依年份計算生肖屬相:陰曆邊界處理與高效能查表法
生肖計算核心邏輯 中國生肖以 12 年為一循環:子鼠、丑牛、寅虎、卯兔、辰龍、巳蛇、午馬、未羊、申猴、酉雞、戌狗、亥豬。關鍵在於確定基準年份與邊界條件: 以
C# 免元件讀取 Excel 轉 DataSet:OLEDB 連接字串與工作表列舉完整實作
方案選型:為什麼選 OLEDB? 方案優點缺點適用性 Microsoft.ACE.OLEDB (本文)無 Office 安裝需求、支援 .xls/.xlsx、