C# 高效產生大量隨機代碼 — StringBuilder、並行化、記憶體優化
需求:產生 100 萬組 20 碼英數字混合隨機代碼 (如序號、兌換碼),寫入文字檔。從簡單迴圈優化至並行批次寫入,展示效能調優全過程。 基礎版:單執行緒 +
C# 檔案與目錄操作完全指南 — File/FileInfo、Directory/DirectoryInfo、讀寫最佳實踐
.NET 提供兩組檔案系統 API:靜態方法 (File, Directory) 適合單次操作;實例方法 (FileInfo, DirectoryInfo) 適
C# new 修飾詞 vs override:隱藏、多態與版本控制的深度解析
new 與 override 都能在衍生類別中重新定義基底類別成員,但語意、行為與設計意圖截然不同。本文透過程式碼實驗、IL 分析與版本控制場景,徹底釐清兩者差
C# 實現全域變數的標準做法 — 靜態類別模式
C# 沒有全域變數 (Global Variable) 的語法,但可透過 靜態類別 + 靜態屬性/欄位 達成相同效果,且具備型別安全、命名空間隔離、可控存取權等
C# WinForms 定時器實作每日排程提醒 — XML 驅動、避免重複彈窗
使用 System.Windows.Forms.Timer 每分鐘檢查一次 XML 設定檔,若當前時間符合排程則彈出提醒視窗。關鍵技巧:Timer.Stop()
C# 確保應用程式單一執行個體 — WPF/WinForms 完整實作與進階技巧
防止使用者重複啟動多個視窗,是桌面應用基本需求。本文提供 WPF 與 WinForms 兩種專案類型的標準實作,並延伸討論路徑比對、啟動參數傳遞、跨 Sessi
C# 結構 完整教學:值型別語意、建構函式、記憶體配置與複製行為
結構 vs 類別:核心差異 特性class(參考型別)struct(值型別) 記憶體配置堆積,透過參考存取堆疊,直接包含資料 可為 null是否(除非用 N
C# 檔案讀寫完整指南:文字檔、二進位檔、StreamReader/Writer 與 BinaryReader/Writer
二進位檔案讀寫(BinaryWriter / BinaryReader) [csharp] // 寫入 using (var fs = new FileStre
C# 批次移除檔案前綴 — 遞迴處理子目錄、支援大量檔案
使用動軟代碼生成器等工具產生代碼時,常產生帶固定前綴 (如 dt_、sp_) 的檔案。本工具遞迴掃描指定目錄及子目錄,批次移除檔名前綴,支援取消、預覽與進度顯示
CodeSmith 教學(九):Progress 物件顯示產生器進度條
Progress 物件用途 在 CodeSmith 模板執行期間顯示進度條,適用於耗時較長的代碼生成操作。Visual Studio 整合環境下會顯示於狀態列。
C# 同步網路時間至本機系統 — 完整實作與權限解決方案
客戶端系統時間不準導致授權、日誌、排程失效。解決方案:從授信網路時間源 (如北京時間 API) 取得標準時間,呼叫 Win32 API SetLocalTime
Unity 任意區域螢幕擷取實作(含儲存 PNG)
核心程式碼 [csharp] using System.IO; using UnityEngine; public class ScreenCaptureAr
C# 關鍵字深度解析:in 與 out 泛型修飾詞(協變與逆變)
協變與逆變核心概念 協變:泛型介面從「子類型」向「父類型」轉換(out 修飾) 逆變:泛型介面從「父類型」向「子類型」轉換(in 修飾) [csharp]
C# 高效能撰寫指南(三):GC、Dispose、IO、迴圈、異常處理與序列化最佳實務
1. 避免濫用 GC.Collect() 原則上禁止手動呼叫 GC.Collect() GC 會自動計算最佳回收時機,強制回收會暫停所有執行緒,頻繁呼叫反而降
行為型設計模式深度解析:策略、備忘錄與迭代器模式
策略模式 核心概念 定義演算法家族,分別封裝並使其可互換。演算法變化不影響使用演算法的客戶端。 簡單工廠的缺點 工廠類別包含所有演算法,每次新增/修改演算法都
WinForms 實作檔案拖放功能完整教學
實作步驟 將控制項(或表單)的 AllowDrop 屬性設為 true 註冊 DragEnter 事件(或 DragDrop) 在事件中透過 e.Data.G
C# 序列化深度解析:SerializableAttribute 與 ISerializable 完整實作
基本序列化:SerializableAttribute 標記 [Serializable] 即可讓類別支援 BinaryFormatter 序列化。若未標記,呼
Enterprise Library 6 連接 Oracle 資料庫完整設定教學
前置準備:引用必要組件 安裝 Enterprise Library 後,從安裝目錄複製以下 DLL 至專案並加入參考: 使用組態工具建立連線設定 執行安裝