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

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

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

常見問題:

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

第一種用法有什么好處。

總結(jié)歸納一下:

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

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

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

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

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

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

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

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

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


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

相關(guān)文章

  • C#中enum和string的相互轉(zhuǎn)換

    C#中enum和string的相互轉(zhuǎn)換

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

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

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

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

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

    使用 C# 下載文件的多種方法小結(jié)

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

    C#交換兩個(gè)變量值的幾種方法總結(jié)

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

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

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

    C#使用DoddleReport快速生成報(bào)表

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

    C#使用分部類設(shè)計(jì)實(shí)現(xiàn)一個(gè)計(jì)算器

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

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

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

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

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

最新評論

交城县| 定兴县| 基隆市| 渝中区| 蕉岭县| 平山县| 阿瓦提县| 资中县| 黄山市| 太白县| 彰化县| 青川县| 临朐县| 米泉市| 林州市| 阿瓦提县| 龙川县| 云林县| 徐水县| 潼南县| 保德县| 阳朔县| 集安市| 裕民县| 正宁县| 汤原县| 澄江县| 英吉沙县| 宁陵县| 莒南县| 陇南市| 交口县| 伊宁县| 汨罗市| 格尔木市| 北票市| 论坛| 莱西市| 武川县| 文登市| 河源市|