熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

C#中IList與List區別

2013-11-13 10:31:14  來源: .NET編程 

  首先IList 泛型接口是 ICollection 泛型接口的子代並且是所有泛型列表的基接口

  它僅僅是所有泛型類型的接口並沒有太多方法可以方便實用如果僅僅是作為集合數據的承載體確實IList<T>可以勝任

  不過更多的時候我們要對集合數據進行處理從中篩選數據或者排序這個時候IList<T>就愛莫能助了

  當你只想使用接口的方法時ILis<>這種方式比較好他不獲取實現這個接口的類的其他方法和字段有效的節省空間.

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

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

  IList <Class> IList =new List <Class>();

  List <Class> List =new List <Class>();

  這兩行代碼從操作上來看實際上都是創建了一個List<Class>對象的實例也就是說他們的操作沒有區別

  只是用於保存這個操作的返回值變量類型不一樣而已

  那麼我們可以這麼理解這兩行代碼的目的不一樣

  List <Class> List =new List <Class>();

  是想創建一個List<Class>而且需要使用到List<T>的功能進行相關操作

  而

  IList <Class> IList =new List <Class>();

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


From:http://tw.wingwit.com/Article/program/net/201311/13883.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.