国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C#中Collection,List和ArrayList的區別

2019-11-10 20:30:00
字體:
來源:轉載
供稿:網友

如果有擴展要求,可以考慮使用Collection<T>,如果有性能要求,考慮用List<T>,如果想存放不同類型的對象,使用ArrayList。

1. List是用來在高性能環境下的類,Collection是為了擴展使用Collection,開發人員可以重寫ClearItems, InsertItem, RemoveItem 和SetItem, 因為它們是PRotected virtual類型的,而List<T>卻沒有這些擴展。2. 實現的接口不一樣Collection<T>實現IList<T>, ICollection<T>, IEnumerable<T>, IList, ICollectionIEnumerableList<T>實現IList<T>, ICollection<T>, IEnumerable<T>, IList, ICollectionIEnumerableArrayList實現IList, ICollection, IEnumerable, ICloneableIList<T>,ICollection<T>, IEnumerable<T>和IList, ICollection, IEnumerable是完全不同的,前者用于范型,view plainpublic interface IList<T> : ICollection<T>, IEnumerable<T>IEnumerable  {      T Item;      abstract int IndexOf(T item);      abstract void Insert(int index, T item);      abstract void RemoveAt(int index);  }  public interface IList : ICollectionIEnumerable  {      bool IsFixedSize;      bool IsReadOnly;      object Item;      abstract int Add(object value);      abstract void Clear();      abstract bool Contains(object value);      abstract int IndexOf(object value);      abstract void Insert(int index, object value);      abstract void Remove(object value);      abstract void RemoveAt(int index);  }  另一方面,Collection<T>和List<T>也實現了IList, ICollectionIEnumerable,說明這兩個類比ArrayList提供了更多的方法。3. 范型與非范型的區別ArrayList是非范型類,如此,這個集合可以包含不同類型成員,我們可以看到,Add方法是Add(Object obj),所以這是一個對象雜陳的類。使用這個類進行操作時,IndexOf,Remove等都要使用類的Equals和HashCode,所以如果是自 己實現的類,一定要判斷是否同一類型。比如這個類是 TestTypeview plainpublic override bool Equals(Object obj)  {      TestType tType = obj as TestType;      if (tType == null)      {          return false;      }      //其它業務代碼      ...  }  總結:如果有擴展要求,可以考慮使用Collection<T>,如果有性能要求,考慮用List<T>,如果想存放不同類型的對象,使用ArrayList。


上一篇:發送郵件

下一篇:排序算法

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 资兴市| 台南县| 江川县| 石棉县| 顺平县| 卢龙县| 灌南县| 文成县| 永德县| 湟源县| 大同县| 花垣县| 太白县| 莆田市| 吉安县| 乌拉特后旗| 玉树县| 仁布县| 平顺县| 定陶县| 历史| 张家口市| 伊吾县| 齐齐哈尔市| 定州市| 靖安县| 武隆县| 兴仁县| 苗栗县| 海阳市| 祁东县| 汶川县| 罗平县| 武陟县| 明溪县| 娱乐| 南安市| 腾冲县| 五华县| 甘孜| 黄山市|