C# 觀察者模式完整實作:事件與委派的經典應用
模式核心角色 Subject (主題):擁有狀態,狀態變更時通知所有觀察者。 Observer (觀察者):訂閱主題事件,收到通知時執行對應邏輯。 Event
C# 深度解析:類型相等與參考恆等的關鍵差異
核心概念區分 概念定義關鍵特徵 Equality (值相等)兩個物件型別相同,且所有欄位值皆相等自反性、對稱性、傳遞性 Identity (參考恆等)兩個參考
ASP.NET 利用 XML 設定檔動態控制輸入長度與提示訊息
需求場景 企業級 Web 系統常需依頁面、角色或業務規則動態調整文字方塊的最大長度、水印提示與錯誤訊息。硬編碼在頁面不利維護,採用 XML 組態 + 通用類別
C# 透過 WMI 實現動態 IP 釋放與續約完整教學
背景與挑戰 在 Windows 環境下,網路介面卡的 IP 設定涉及底層硬體操作,C# 沒有直接的 Managed API。解決方案是透過 WMI (Windo
C# 快速排序演算法完整實作與原理解析
快速排序核心思想:分治法 快速排序是經典的分治法應用,平均時間複雜度 O(n log n),原地排序、空間複雜度 O(log n)(遞迴堆疊)。基本流程三步驟:
C# List為什麼需要 List? 在 C# 開發中,傳統陣列有一個固有缺陷:容量固定。當你無法預先確定資料筆數時,宣告太小會導致溢位,宣告太大則浪費記憶體。例如讓使用者輸
C# 泛型集合介面全景圖:IEnumerable、ICollection、IList、IDictionary
為何只關注泛型介面? 非泛型介面(IEnumerable、ICollection…)已標記過時,泛型版提供型別安全、效能(值類型免裝箱)、語意清晰。C++ 開發
C# 介面實作深度解析:IComparable 與 IComparer 靈活排序策略
場景:Employee 類別需要多種排序方式 預設實作 IComparable<Employee> 只能有一種排序邏輯(如依 EmpID)。若需依「
C# 泛型秘訣(1):何時使用泛型、泛型類型運作原理
泛型是 C# 2.0 引入的核心特性,提供型別安全、效能(避免 boxing)、程式碼重用。本文說明決策依據、並以 StandardClass(非泛型)與 Ge
C# 泛型集合遷移實戰:從 ArrayList 升級到 List<T>
遷移動機 ArrayList 存 object,值類型頻繁裝箱/拆箱,且無型別安全。List<T> 以強型別陣列為底層,完全消除此問題,是效能與可維
C# 泛型集合升級指南:Stack 與 Queue 的泛型版本優勢
為何要換用泛型 Stack<T> / Queue<T>? 非泛型 System.Collections.Stack/Queue 僅存 o
C# 泛型實戰:LinkedList 雙向鏈表與可空類型完整指南
一、LinkedList<T>:高效插入刪除的雙向鏈表 基本操作 LinkedList<T> 為 .NET 內建的雙向鏈表,每個節點(L
C# 泛型進階:打造可反轉排序的 SortedList
前言 在 .NET 框架中,SortedList 與 SortedList<TKey, TValue> 皆提供自動排序功能,但缺乏內建的「反轉排序」
C# 泛型秘訣(5.2):ReversibleSortedList 私有方法、屬性與欄位完整原始碼
承接上文,本文呈現 ReversibleSortedList 的私有方法區、公用/私有屬性區、欄位區完整原始碼,涵蓋容量管理、插入/刪除陣列搬移、二分搜尋索引、
C# 泛型秘訣(5.3):ReversibleSortedList 完整巢狀類型原始碼解析
本文呈現 ReversibleSortedList 內部完整巢狀類型原始碼,包含:Enumerator、KeyList、ValueList、Reversible
C# 泛型秘訣(6):ReadOnlyCollection 唯讀包裝、Dictionary 取代 Hashtable
本文介紹兩項泛型實務技巧:(1) 使用 ReadOnlyCollection 包裝內部清單對外暴露唯讀視圖;(2) 以 Dictionary 完整取代 Hash
C# 泛型秘訣(7):Dictionary foreach 用 KeyValuePair、型別參數約束
本文涵蓋兩個實用主題:(1) Dictionary 迴圈時使用 KeyValuePair 避免 boxing、強型別存取;(2) where T : const