C#中IEnumerable、ICollection、IList、List之間的區(qū)別
首先我看看 IEnumerable:
// 摘要:
// 公開枚舉器,該枚舉器支持在指定類型的集合上進(jìn)行簡單迭代。
//
// 類型參數(shù):
// T:
// 要枚舉的對(duì)象的類型。
[TypeDependency("System.SZArrayHelper")]
public interface IEnumerable<out T> : IEnumerable
{
// 摘要:
// 返回一個(gè)循環(huán)訪問集合的枚舉器。
//
// 返回結(jié)果:
// 可用于循環(huán)訪問集合的 System.Collections.Generic.IEnumerator<T>。
IEnumerator<T> GetEnumerator();
}IEnumerable<T> 實(shí)現(xiàn)IEnumerable接口方法,那IEnumberable做什么的,其實(shí)就提高可以循環(huán)訪問的集合。說白了就是一個(gè)迭代。
再來看看ICollection:
// 摘要:
// 定義操作泛型集合的方法。
//
// 類型參數(shù):
// T:
// 集合中元素的類型。
[TypeDependency("System.SZArrayHelper")]
public interface ICollection<T> : IEnumerable<T>, IEnumerable
原來ICollection<T> 同時(shí)繼承IEnumerable<T>和IEnumerable兩個(gè)接口,按我的理解就是,ICollection繼續(xù)它們2個(gè)接口而且擴(kuò)展了方法,功能強(qiáng)多了。
我們繼續(xù)看IList:
public interface IList<T> : ICollection<T>, IEnumerable<T>, IEnumerable
靠 IList 繼承它們?nèi)齻€(gè)接口,怪不得功能這么多啊
最后來看看List:
public class List<T> : IList<T>, ICollection<T>, IEnumerable<T>, IList, ICollection, IEnumerable
這個(gè)時(shí)候大家仔細(xì)看看,它們都是接口,只有List 是類,不僅實(shí)現(xiàn)它們的接口,而且還擴(kuò)展了太多的方法給我利用。哇靠,幾乎所有功能都能實(shí)現(xiàn)了
按照功能排序:List<T> 《IList<T> 《ICollection<T>《IEnumerable<T>
按照性能排序:IEnumerable<T>《ICollection<T>《IList<T>《List<T>
相關(guān)文章
C#并發(fā)編程之a(chǎn)sync和await關(guān)鍵字詳解
對(duì)于?async?和?await?兩個(gè)關(guān)鍵字,對(duì)于一線開發(fā)人員再熟悉不過了,到處都是它們的身影,下面小編就來和大家記錄匯總下它們的使用吧2023-07-07
WinForm中實(shí)現(xiàn)picturebox自適應(yīng)圖片大小的方法
這篇文章主要介紹了WinForm中實(shí)現(xiàn)picturebox自適應(yīng)圖片大小的方法,涉及pictureBox控件相關(guān)屬性設(shè)置技巧,需要的朋友可以參考下2017-05-05
C#使用RenderControl將GridView控件導(dǎo)出到EXCEL的方法
這篇文章主要介紹了C#使用RenderControl將GridView控件導(dǎo)出到EXCEL的方法,是C#應(yīng)用程序設(shè)計(jì)中非常實(shí)用的一個(gè)功能,需要的朋友可以參考下2014-08-08
WPF實(shí)現(xiàn)html中的table控件的示例代碼
相信很多做WPF開發(fā)的小伙伴都遇到過表格類的需求,雖然現(xiàn)有的Grid控件也能實(shí)現(xiàn),但是使用起來的體驗(yàn)感并不好,所以本文我們就來用WPF自己實(shí)現(xiàn)一個(gè)html中的table控件吧2024-03-03
C#中當(dāng)前時(shí)間轉(zhuǎn)為時(shí)間戳的3個(gè)方法
在計(jì)算機(jī)應(yīng)用世界里,無論是為了記錄事件的發(fā)生時(shí)間、保障數(shù)據(jù)一致性還是提升安全性,時(shí)間戳都是不可或缺的重要工具,下面我們就來看看C#中轉(zhuǎn)換當(dāng)前時(shí)間為時(shí)間戳有哪些方法吧2024-12-12

