C# 讀取網路 XML 兩大經典做法:LINQ to XML 與 XmlReader
從遠端 URL 讀取並解析 XML 是常見需求。.NET 提供兩種風格迥異的 API:LINQ to XML(記憶體樹狀、查詢導向)與 XmlReader(流式
抽象類別與介面深度解析:核心差異、設計規則與實戰準則(上)
抽象類別與介面是面向抽象程式設計的兩大基石,雖同樣無法直接實例化、皆支援多型,但設計意圖與適用場景截然不同。本文整理經典觀點、MSDN 建議與實戰經驗,建立決策
深入抽象類別與介面:書店實戰完整案例(下)
承接上一篇的理論基礎,本文透過一個「小書店業務系統」的完整實作,示範如何靈活運用抽象類別與介面,將複雜的業務規則轉化為清晰、可擴充的物件模型。 業務情境與需求
C# 動態載入組件至獨立 AppDomain 實現熱插拔與卸載
在作業系統層面,進程提供了應用程式的隔離邊界,每個進程擁有獨立的虛擬記憶體空間,彼此無法直接存取。然而進程切換開銷大、無法共享記憶體,限制了高效通訊。.NET
淺談分組統計:Foreach、Iterator、LINQ 三種實作效能比較
分組統計是常見需求 (如反洗錢大額交易統計)。本文以「已排序資料按 Key 分組,計算各組筆數與平均值」為例,比較三種寫法的程式碼結構與效能。 測試資料生成
C# 呼叫 Prodave (S7 PLC) 實戰:DllImport 完整封裝指南
西門子 Prodave 是 S7 PLC 專用通訊庫,本文詳細記錄如何用 C# DllImport 封裝 Prodave6.dll,涵蓋連線管理、DB/任意區讀
C# 使用 Winsock API 實作同步 Socket 伺服器
為讓 .NET 開發者深入理解 Winsock2 底層機制,本文將 .NET Socket 同步模型的核心 P/Invoke 封裝代碼剝離簡化,僅保留 TCP/
仿查詢分析器的 C# 計算器(一):初步分析與樹狀結構
系列首篇,確立目標:打造如 SQL 查詢分析器般的計算器,支援直接輸入表達式、多行/選取運算、錯誤定位。核心思路:將表達式轉為二元運算樹,根節點為最後執行的運算
仿查詢分析器的 C# 計算器(二):TokenRecord 節點設計
定義表達式樹的節點基類 TokenRecord 及其衍生體系,奠定後續語法樹建構與求值基礎。 TokenRecord 基類核心成員 Index:在原始字串中
仿查詢分析器的 C# 計算器(三):詞法分析與 Token 工廠
將輸入字串逐字元掃描,識別關鍵字、運算符、字串常值、數值常值,產出 TokenRecord 列表。採用工廠模式,依字元類型分派給對應工廠類別處理。 總工廠:T
仿查詢分析器的 C# 計算器(四):語法分析與樹構建
將詞法分析產出的 TokenRecord 列表,依運算子優先級轉換為語法樹。核心演算法採用「高出低入」堆疊原則,配合遞歸處理括號與函數呼叫。 優先級與樹結構對
仿查詢分析器的 C# 計算器(五):計算求值與錯誤定位
系列完結篇,介紹如何串接詞法、語法分析模組,實現多行/選取區塊運算、語法樹視覺化、錯誤精確定位到輸入框字元位置。 核心入口:SyntaxAnalyse 類別
仿查詢分析器的 C# 計算器(六):函數波形繪製
計算器新增變數支援、更多函數、邏輯短路運算後,進一步實作「輸入函數表達式即繪製波形」的功能,效果如示波器般直觀。 變數機制與語法樹複用 採用靜態字典 DicV
C# 呼叫外部程式與命令列:Process 類完整用法
在 .NET 中使用 System.Diagnostics.Process 可輕鬆啟動外部執行檔或命令列程式,並傳遞參數、設定工作目錄、視窗樣式等。 基本啟動
鷹眼控制項實作(ArcEngine + C#):同步縮放、拖曳與框選
在 GIS 應用中,「鷹眼」是概覽圖的常見元件。本文提供一個完整的 ArcEngine + C# 實作,包含四大核心功能: 主地圖視野變更時,鷹眼繪製紅框指示
List 擴充排序功能:動態型別與屬性操作(上篇)
為了給 List<T> 加上支援並列排名的 Rank 擴充方法,首先得解決「如何為任意型別 T 動態新增屬性」的問題。本文介紹使用 System.C