[asp.net]IList<T>與List<T>的差別

  • 2790
  • 0

摘要:[asp.net]IList與List的差別

如果一個class你要編譯成dll給人家參考,裡面的function的回傳型態盡量用IList<T>而不要用List<T>

網路上的說法很多,但並無很明顯的例子說明

以我個人的理解來說,應該是因為IList<T>可以用很多種的方法去實做(例如:堆疊, LinkedList, HashMap....)

這樣以後function裡面的內容要是有任何更動(例如改為用堆疊的方式進行), 對於使用這個dll的其他程式設計師也不會有影響,他不用另外再花時間改引用此dll部分的code

倘若一開始這個function回傳的型態寫死為List<T>, 那麼以後若是要修改function裡面的程式碼實做方式為堆疊

便馬上會影響到使用這個dll的程式設計師, 他必須要花時間改引用此dll部分的code