Collection 的一個坑

當前所在的公司偏好使用 Collection<T>(System.Collections.ObjectModel), 這貨比起List<T>不只少了不少實用方法, 並且還有一個坑
它的一個構造函數支持傳入IList實例
Collection<T>(IList<T>)
使用這個構造函數建立出來的Collection實例, 竟然要影響原來的IList實例
MSDN的描述爲: Initializes a new instance of the Collection<T> class as a wrapper for the specified list.
意思是: 建立了IList實例的一個包裝類實例app

 

var c1 = new Collection<string>();
c1.Add("A");

var c2 = new Collection<string>(c1); // Collection也實現了IList接口
c2.Remove(c2.First());

Console.WriteLine(c2.Count);  // 輸出 0
相關文章
相關標籤/搜索