C#中IEnumerable、ICollection、IList、List之間的差別。本站提示廣大學習愛好者:(C#中IEnumerable、ICollection、IList、List之間的差別)文章只能為提供參考,不一定能成為您想要的結果。以下是C#中IEnumerable、ICollection、IList、List之間的差別正文
起首我看看 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>