国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#中Ilist與list的區別小結

2020-01-24 02:52:17
字體:
來源:轉載
供稿:網友

常見問題:

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

第一種用法有什么好處。

總結歸納一下:

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

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

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

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

List <>是個類型  已經實現了IList <>定義的那些方法

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

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

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

接口實現松耦合...有利于系統的維護與重構...優化系統流程...


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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 西乌珠穆沁旗| 得荣县| 青州市| 磴口县| 平潭县| 正蓝旗| 呼玛县| 乐昌市| 临泽县| 西城区| 托克托县| 英吉沙县| 河津市| 津南区| 宁陵县| 资兴市| 溆浦县| 滨州市| 阿拉善左旗| 大关县| 乌拉特中旗| 平谷区| 偏关县| 阳江市| 临湘市| 柏乡县| 桐柏县| 平利县| 舟曲县| 南投市| 哈巴河县| 湘西| 蒲江县| 神农架林区| 巩留县| 泸水县| 图片| 延津县| 大港区| 澄迈县| 伊吾县|