為深入理解高品質集合類實作,本系列參考《C# Cookbook》中 ReversibleSortedList 範例(約 1300 行),逐步拆解其設計精華。雖然實務上建議直接使用 FCL 現成類別,但研讀源碼能提升架構能力,亦是元件開發者的必修課。
採用兩個泛型陣列分別儲存 Key 與 Value,確保類型安全且存取速度最快:
public class ReversibleSortedList<TKey, TValue>
{
private TKey[] keys; // 鍵陣列
private TValue[] values; // 值陣列
}
陣列容量固定,需手動管理擴展。先實作 Capacity 唯讀屬性:
public int Capacity
{
get { return this.keys.Length; }
}
後續將引入 EnsureCapacity、_size 欄位追蹤實際元素數、以及 version 機制支援列舉器失效偵測。本文確立「陣列+二分搜尋插入」的核心架構方向。