麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

C#中Collection,List和ArrayList的區(qū)別

2019-11-10 20:00:46
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

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

1. List是用來(lái)在高性能環(huán)境下的類,Collection是為了擴(kuò)展使用Collection,開發(fā)人員可以重寫ClearItems, InsertItem, RemoveItem 和SetItem, 因?yàn)樗鼈兪?a >PRotected virtual類型的,而List<T>卻沒(méi)有這些擴(kuò)展。2. 實(shí)現(xiàn)的接口不一樣Collection<T>實(shí)現(xiàn)IList<T>, ICollection<T>, IEnumerable<T>, IList, ICollectionIEnumerableList<T>實(shí)現(xiàn)IList<T>, ICollection<T>, IEnumerable<T>, IList, ICollectionIEnumerableArrayList實(shí)現(xiàn)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>也實(shí)現(xiàn)了IList, ICollectionIEnumerable,說(shuō)明這兩個(gè)類比ArrayList提供了更多的方法。3. 范型與非范型的區(qū)別ArrayList是非范型類,如此,這個(gè)集合可以包含不同類型成員,我們可以看到,Add方法是Add(Object obj),所以這是一個(gè)對(duì)象雜陳的類。使用這個(gè)類進(jìn)行操作時(shí),IndexOf,Remove等都要使用類的Equals和HashCode,所以如果是自 己實(shí)現(xiàn)的類,一定要判斷是否同一類型。比如這個(gè)類是 TestTypeview plainpublic override bool Equals(Object obj)  {      TestType tType = obj as TestType;      if (tType == null)      {          return false;      }      //其它業(yè)務(wù)代碼      ...  }  總結(jié):如果有擴(kuò)展要求,可以考慮使用Collection<T>,如果有性能要求,考慮用List<T>,如果想存放不同類型的對(duì)象,使用ArrayList。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 欧美一级片一区 | 久久蜜桃香蕉精品一区二区三区 | 看国产一级毛片 | 毛片免费视频观看 | 国产精品久久久久久久午夜片 | 蜜桃网在线 | av电影在线网站 | 91成人免费网站 | 久久精品毛片 | 超碰97人人艹 | 精品国产一区二区三区久久久狼牙 | 日本网站一区二区三区 | 狠狠干五月 | 欧美性生活久久久 | 双性精h调教灌尿打屁股的文案 | 精品人成 | 久久精品国产一区二区 | 91免费高清视频 | 一级黄色淫片 | 久久91久久久久麻豆精品 | 久久久一区二区精品 | 国产精品色综合 | 国产精品视频专区 | www成人在线观看 | 久久狂草 | 成人毛片免费视频 | 国产亚洲精品久久久久婷婷瑜伽 | 亚洲国产视频网 | 国产精品久久久久久久久久尿 | 成人午夜一区二区 | 国产精品视频中文字幕 | 久久不雅视频 | 182tv成人福利视频免费看 | 一区国产精品 | 九九视屏| 久草久视频 | 久久久久久久久久久久久久久久久久 | 色蜜桃av| 久久久久久久久久久国产精品 | 毛片视频在线免费观看 | 国产91免费看 |