以字典取代冗長 Switch-Case:C# 優雅重構指南
問題:龐大 Switch-Case 的維護惡夢 public double HandleCommand(CommandID cmd, double value)
ZedGraph 控制項繪製圖表曲線完整教學
ZedGraph 簡介 ZedGraph 是功能強大的開源 .NET 圖表庫,支援線圖、柱狀圖、圓餅圖等,提供豐富的自訂選項,適合 WinForms 應用快速整
WPF 多語言實作完整指南:ResourceManager、MarkupExtension、即時切換
核心架構 採用 .resx 資源檔 + ResourceManager + 自訂 MarkupExtension 實現 XAML 直接繫結,支援執行期即時切換語
WinForms 進階界面技術:MDI、禁用關閉鈕、動態托盤、氣泡提示
技術一:禁用視窗關閉按鈕 覆寫 WndProc 攔截 WM_SYSCOMMAND / SC_CLOSE: Application.Exit(); 技術二:動態
LINQ to SQL 查詢運算子詳解(二):Select 與 Distinct
Select 運算子 Select 用於投射(投影)查詢結果,對應 SQL SELECT 子句,但位於查詢表達式末端。支援延遲執行。 1. 簡單投射 var n
通用資料解析器:將 IEnumerable<IEnumerable<string>> 映射為強型別物件
適用場景
CSV/Excel 匯入:每列為 IEnumerable,整體為 IEnumerable
解決 C# Base64 字串長度無效錯誤:URL 傳輸編碼問題
錯誤現象 專案在 Windows Server 2003 正常,部署到 Windows 7 時拋出: System.FormatException: Base-
WinForms 表單控制技術:動態建立、關閉確認、拖曳無框視窗
技術一:關閉前確認對話框 在 FormClosing 事件中透過 e.Cancel 控制是否關閉: private void Form1_FormClosing
C# 委派完整教學:從基礎到多播、事件模式
為什麼需要委派? 將方法作為參數傳遞,實現「行為參數化」,避免大量 if-else/switch,提升擴展性。 基本定義與使用 Console.WriteLi
.NET 非托管資源釋放完整指南:Dispose 模式與終結器
為什麼需要手動釋放? .NET GC 僅管理記憶體資源。檔案控制代碼、資料庫連線、網路 Socket、GDI 物件、COM 元件等非托管資源需開發者明確釋放,否
C# 複雜條件查詢通用解決方案:動態 SQL 建構器
問題背景 企業應用常面臨「多欄位、可選、組合多變」的查詢需求。硬編碼 WHERE 子句導致程式碼膨脹、難維護、易出錯。需要一套通用機制,根據實體屬性自動生成參數
自訂 Socket 組件實現多進程共享 Socket 協同處理請求
專案背景 DotNet.Net.MySocket 是 SLB.NET(Server Load Balance 伺服器負載平衡)專案的核心組件。目標參考 IIS
自製簡易 WebServer:WinForms 托管 HTTP 服務實戰
緣起 公司電腦仍為 Windows 7,無 IIS 安裝權限,IT 部門也拒絕協助。為了進行 Web 安全測試,決定開發一個 WinForms 程式內建 HTT
ImmutableList<T> 實現原理深度解析(中):變化中的不變
前言 本文繼續探討 System.Collections.Immutable.ImmutableList<T> 的內部實現,重點分析新增元素時的節點