最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#中IEnumerable、ICollection、IList、List之間的區(qū)別

 更新時(shí)間:2024年07月26日 17:05:35   投稿:junjie  
這篇文章主要介紹了C#中IEnumerable、ICollection、IList、List之間的區(qū)別,本文分別分析了它的實(shí)現(xiàn)源碼,從而總結(jié)出了它們之間的關(guān)系和不同之處,需要的朋友可以參考下

首先我看看 IEnumerable:

// 摘要:
  //   公開(kāi)枚舉器,該枚舉器支持在指定類(lèi)型的集合上進(jìn)行簡(jiǎn)單迭代。
  //
  // 類(lèi)型參數(shù):
  //  T:
  //   要枚舉的對(duì)象的類(lèi)型。
  [TypeDependency("System.SZArrayHelper")]
  public interface IEnumerable<out T> : IEnumerable
  {
    // 摘要:
    //   返回一個(gè)循環(huán)訪問(wèn)集合的枚舉器。
    //
    // 返回結(jié)果:
    //   可用于循環(huán)訪問(wèn)集合的 System.Collections.Generic.IEnumerator<T>。
    IEnumerator<T> GetEnumerator();
  }

IEnumerable<T> 實(shí)現(xiàn)IEnumerable接口方法,那IEnumberable做什么的,其實(shí)就提高可以循環(huán)訪問(wèn)的集合。說(shuō)白了就是一個(gè)迭代。

再來(lái)看看ICollection:

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

原來(lái)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è)接口,怪不得功能這么多啊

最后來(lái)看看List:

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

這個(gè)時(shí)候大家仔細(xì)看看,它們都是接口,只有List 是類(lèi),不僅實(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)鍵字詳解

    C#并發(fā)編程之a(chǎn)sync和await關(guān)鍵字詳解

    對(duì)于?async?和?await?兩個(gè)關(guān)鍵字,對(duì)于一線開(kāi)發(fā)人員再熟悉不過(guò)了,到處都是它們的身影,下面小編就來(lái)和大家記錄匯總下它們的使用吧
    2023-07-07
  • C#利用遞歸算法解決漢諾塔問(wèn)題

    C#利用遞歸算法解決漢諾塔問(wèn)題

    這篇文章主要為大家介紹了C#如何利用遞歸算法解決經(jīng)典的漢諾塔問(wèn)題,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定幫助,需要的可以參考一下
    2022-04-04
  • C#知識(shí)整理

    C#知識(shí)整理

    本文主要介紹了C#的相關(guān)知識(shí)。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-02-02
  • WinForm中實(shí)現(xiàn)picturebox自適應(yīng)圖片大小的方法

    WinForm中實(shí)現(xiàn)picturebox自適應(yīng)圖片大小的方法

    這篇文章主要介紹了WinForm中實(shí)現(xiàn)picturebox自適應(yīng)圖片大小的方法,涉及pictureBox控件相關(guān)屬性設(shè)置技巧,需要的朋友可以參考下
    2017-05-05
  • C# JsonHelper 操作輔助類(lèi),拿來(lái)直接用

    C# JsonHelper 操作輔助類(lèi),拿來(lái)直接用

    本文總結(jié)了一些常用的JSON操作輔助類(lèi),包括轉(zhuǎn)換、判斷、Ajax異步等操作,希望能幫到大家。
    2016-05-05
  • C#實(shí)現(xiàn)XML序列化與反序列化

    C#實(shí)現(xiàn)XML序列化與反序列化

    這篇文章介紹了C#實(shí)現(xiàn)XML序列化與反序列化的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • C#實(shí)現(xiàn)聊天消息渲染與圖文混排詳解

    C#實(shí)現(xiàn)聊天消息渲染與圖文混排詳解

    在實(shí)現(xiàn)聊天軟件時(shí),渲染文字表情圖文混排是一項(xiàng)非常繁瑣的工作,再加上還要支持GIF動(dòng)圖、引用消息、撤回消息、名片等不同樣式的消息渲染時(shí),就更加麻煩了。本文就來(lái)和大家分享一下具體實(shí)現(xiàn)方法,希望對(duì)大家有所幫助
    2023-02-02
  • C#使用RenderControl將GridView控件導(dǎo)出到EXCEL的方法

    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實(shí)現(xiàn)html中的table控件的示例代碼

    相信很多做WPF開(kāi)發(fā)的小伙伴都遇到過(guò)表格類(lèi)的需求,雖然現(xiàn)有的Grid控件也能實(shí)現(xiàn),但是使用起來(lái)的體驗(yàn)感并不好,所以本文我們就來(lái)用WPF自己實(shí)現(xiàn)一個(gè)html中的table控件吧
    2024-03-03
  • C#中當(dāng)前時(shí)間轉(zhuǎn)為時(shí)間戳的3個(gè)方法

    C#中當(dāng)前時(shí)間轉(zhuǎn)為時(shí)間戳的3個(gè)方法

    在計(jì)算機(jī)應(yīng)用世界里,無(wú)論是為了記錄事件的發(fā)生時(shí)間、保障數(shù)據(jù)一致性還是提升安全性,時(shí)間戳都是不可或缺的重要工具,下面我們就來(lái)看看C#中轉(zhuǎn)換當(dāng)前時(shí)間為時(shí)間戳有哪些方法吧
    2024-12-12

最新評(píng)論

崇仁县| 宜都市| 聂荣县| 鹿泉市| 汕尾市| 阿拉善左旗| 星子县| 饶平县| 丰宁| 连云港市| 柘荣县| 教育| 株洲县| 墨竹工卡县| 富锦市| 南投市| 晋城| 齐齐哈尔市| 阳春市| 永春县| 铁力市| 钦州市| 长海县| 叙永县| 芜湖市| 哈巴河县| 忻城县| 灵寿县| 呼玛县| 中方县| 南川市| 东兰县| 贡嘎县| 大埔区| 广饶县| 鄂托克旗| 石家庄市| 延安市| 陈巴尔虎旗| 柘城县| 正定县|