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

首頁 > 編程 > C# > 正文

C#中IEnumerable、ICollection、IList、List之間的區別

2020-01-24 01:47:07
字體:
來源:轉載
供稿:網友

首先我看看 IEnumerable:

// 摘要:  //   公開枚舉器,該枚舉器支持在指定類型的集合上進行簡單迭代。  //  // 類型參數:  //  T:  //   要枚舉的對象的類型。  [TypeDependency("System.SZArrayHelper")]  public interface IEnumerable<out T> : IEnumerable  {    // 摘要:    //   返回一個循環訪問集合的枚舉器。    //    // 返回結果:    //   可用于循環訪問集合的 System.Collections.Generic.IEnumerator<T>。    IEnumerator<T> GetEnumerator();  }

IEnumerable<T> 實現IEnumerable接口方法,那IEnumberable做什么的,其實就提高可以循環訪問的集合。說白了就是一個迭代。

再來看看ICollection:

 // 摘要:  //   定義操作泛型集合的方法。  //  // 類型參數:  //  T:  //   集合中元素的類型。  [TypeDependency("System.SZArrayHelper")]  public interface ICollection<T> : IEnumerable<T>, IEnumerable

原來ICollection<T> 同時繼承IEnumerable<T>和IEnumerable兩個接口,按我的理解就是,ICollection繼續它們2個接口而且擴展了方法,功能強多了。
由原來的步槍變成半自動步槍

我們繼續看IList:

public interface IList<T> : ICollection<T>, IEnumerable<T>, IEnumerable

靠 IList 繼承它們三個接口,怪不得功能這么多啊,那應該屬于全自動步槍了

最后來看看List:

public class List<T> : IList<T>, ICollection<T>, IEnumerable<T>, IList, ICollection, IEnumerable

這個時候大家仔細看看,它們都是接口,只有List 是類,不僅實現它們的接口,而且還擴展了太多的方法給我利用。哇靠,幾乎所有功能都能實現了,簡直是激光步槍

按照功能排序:List<T> 《IList<T> 《ICollection<T>《IEnumerable<T>

按照性能排序:IEnumerable<T>《ICollection<T>《IList<T>《List<T>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乐昌市| 清流县| 蒲城县| 尚义县| 白水县| 米脂县| 澳门| 新化县| 迁西县| 嵩明县| 临江市| 满洲里市| 雷州市| 忻城县| 桂东县| 湟源县| 保康县| 潢川县| 抚宁县| 漯河市| 长沙市| 兴业县| 伽师县| 靖江市| 亳州市| 五大连池市| 马鞍山市| 绵阳市| 乌拉特中旗| 彩票| 朝阳区| 常德市| 宁河县| 灌阳县| 喀喇沁旗| 邛崃市| 石景山区| 三门县| 万源市| 丰都县| 安宁市|