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

C#中Ilist與list的區(qū)別小結

 更新時間:2014年01月20日 09:12:29   作者:  
本篇文章主要是對C#中Ilist與list的區(qū)別進行了詳細的總結介紹,需要的朋友可以過來參考下,希望對大家有所幫助

常見問題:

Ilist <> 本身只是一個泛型接口, 既然是接口當然不能實例化,只能用如下方法
IList <Class1> IList11 =new List <Class1>();
但是為什么要這么用呢,為什么不直接用List:
List <Class1> List11 =new List <Class1>();

第一種用法有什么好處。

總結歸納一下:

Ilist <> 是在 .net2.0里面才支持的

好處嘛..比如說human和tiger都有行走的功能,你可以把這些歸類到interface中,當你有一個動物的類包括有這兩種動物時,你想讓他們行走你只需要調一個同樣的方法而不管對方是什么類型,具體的行走嘛,人有兩個只腳,但有4肢,動物有4條腿,這就是到具體的動物類來實現(xiàn)了,但是他們行走時都是4肢擺動,而且都向前邁出一定的距離(當然是向前走時),所以我認為這些可以歸類為行為抽象,具體的一步能邁出多遠這依賴于每個具體實現(xiàn)的身高/體長.

使用IList <Class1> IList11 =new List <Class1>();
方便后期的修改,當你不在使用List 要使用其他類型的時候
只需要修改這一處地方就可以了
不用修改過多的 地方
 

IList <>是個接口,定義了一些操作方法 這些方法要你自己去實現(xiàn)

List <>是個類型  已經(jīng)實現(xiàn)了IList <>定義的那些方法

List <Class1> List11 =new List <Class1>();
是想創(chuàng)建一個List <Class1>,而且需要使用到List <T>的功能,進行相關操作。

IList <Class1> IList11 =new List <Class1>();

只是想創(chuàng)建一個基于接口IList <Class1>的對象的實例,只是這個接口是由List <T>實現(xiàn)的。所以它只是希望使用到IList <T>接口規(guī)定的功能而已。

接口實現(xiàn)松耦合...有利于系統(tǒng)的維護與重構...優(yōu)化系統(tǒng)流程...


鼓勵使用接口
這樣可以實現(xiàn)功能和具體實現(xiàn)的分離
實現(xiàn)接口分離的原則
不是看實際需要用的!

相關文章

  • C#中enum和string的相互轉換

    C#中enum和string的相互轉換

    這篇文章主要介紹了C#中enum和string的相互轉換的相關資料,需要的朋友可以參考下
    2017-09-09
  • ASP.NET C#中Application的用法教程

    ASP.NET C#中Application的用法教程

    這篇文章主要給大家介紹了關于ASP.NET C#中Application的用法,在介紹Application的用法之前,先給大家介紹了Session的用法供大家參考學習,文中介紹的非常詳細,需要的朋友們下面跟著小編一起來學習學習吧。
    2017-05-05
  • BarCode條形碼基于C# GDI+ 的實現(xiàn)方法詳解

    BarCode條形碼基于C# GDI+ 的實現(xiàn)方法詳解

    本篇文章介紹了,BarCode條形碼基于C# GDI+ 的實現(xiàn)方法詳解。需要的朋友參考下
    2013-05-05
  • 使用 C# 下載文件的多種方法小結

    使用 C# 下載文件的多種方法小結

    本文從最簡單的下載方式開始步步遞進,講述了文件下載過程中的常見問題并給出了解決方案。并展示了如何使用多線程提升 HTTP 的下載速度以及調用 aria2 實現(xiàn)非 HTTP 協(xié)議的文件下載,對C# 下載文件相關知識感興趣的朋友一起看看吧
    2021-08-08
  • C#交換兩個變量值的幾種方法總結

    C#交換兩個變量值的幾種方法總結

    這篇文章介紹了C#交換兩個變量值的幾種方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-10-10
  • C#中生成DLL及其事件的處理

    C#中生成DLL及其事件的處理

    在C#中,創(chuàng)建動態(tài)鏈接庫是一個常見的任務,本文主要介紹了C#中生成DLL及其事件的處理,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧
    2024-01-01
  • C#使用DoddleReport快速生成報表

    C#使用DoddleReport快速生成報表

    這篇文章介紹了C#使用DoddleReport快速生成報表的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • C#使用分部類設計實現(xiàn)一個計算器

    C#使用分部類設計實現(xiàn)一個計算器

    分部類是C#4.5中的一個新特性,它的出現(xiàn)使得程序的結構更加合理,代碼組織更加緊密,本文將使用分部類設計實現(xiàn)一個簡單的計算器,感興趣的小伙伴可以了解下
    2024-02-02
  • C#中的ICustomFormatter及IFormatProvider接口用法揭秘

    C#中的ICustomFormatter及IFormatProvider接口用法揭秘

    這篇文章主要介紹了C#中的ICustomFormatter及IFormatProvider接口用法揭秘,本文能過分析一段代碼得出一些研究結果,需要的朋友可以參考下
    2015-06-06
  • DevExpress實現(xiàn)自定義GridControl中按鈕文字內容的方法

    DevExpress實現(xiàn)自定義GridControl中按鈕文字內容的方法

    這篇文章主要介紹了DevExpress實現(xiàn)自定義GridControl中按鈕文字內容的方法,需要的朋友可以參考下
    2014-08-08

最新評論

文昌市| 历史| 临桂县| 赤壁市| 图们市| 府谷县| 平山县| 水城县| 仁化县| 衡山县| 沧源| 克什克腾旗| 济阳县| 宕昌县| 临澧县| 来宾市| 黄龙县| 扬州市| 习水县| 通海县| 东宁县| 循化| 云林县| 页游| 长白| 汪清县| 翁源县| 宣武区| 新和县| 江口县| 东阿县| 阿巴嘎旗| 麻栗坡县| 喀喇沁旗| 安福县| 英吉沙县| 诏安县| 横山县| 泾源县| 红安县| 山东|