c#使用ilist而不是list

C# Using IList instead of List

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
C# - List or IList

我正在研究一个解决方案,我注意到有很多人正在实现。只是想知道,当您可以使用列表时,使用IList有什么意义?


在可能的情况下,您应该始终尝试使用interface,以允许用户在其使用的实现上具有更大的灵活性。一般来说,IEnumerableIQueryable甚至比IList更好,因为它们更通用,除非你有充分的理由限制这一点。


如果不想继承List,只想实现接口,可以使用IList

也许您想返回一个支持IList的对象,但是实现对调用者来说是不可恢复的?

在您的案例中,执行EDOCX1[1]可能会导致不必要的输入,这可能是正确的做法,如果没有更多的信息,我不知道。


因为有些集合可能继承自IList而不是List,例如ObservableCollection。