2011-07-27 35 views
0

可能重复:
C# - List<T> or IList<T>C#中使用的IList,而不是List

我工作的一个解决方案已经注意到有很多FO的IList正在实施。 只是想知道,当你可以使用列表时使用IList有什么意义?

+0

找到了一个链接到同一个问题: http://stackoverflow.com/questions/400135/c-listt-or-ilistt – David

+0

请提供具体回答一个具体问题。 – Jodrell

+0

重复是你在'相关问题'中得到的第一个结果(忽略这个),当你试图问这个问题时......;)这就是为什么你在标题中提问你的问题,并解释任何细节描述框... –

回答

1

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

1

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

也许你想返回一个支持IList的对象,但实现与调用者无关?

在你的情况下,实施IList可能会导致unesscessary打字,这可能是正确的做法,我不知道没有更多的信息。

1

您应该尽可能使用interface,以便用户在其实现方式上具有更大的灵活性。一般来说,IEnumerableIQueryable甚至比IList更好,因为它们更通用,除非您想要当然有充分的理由限制它。

相关问题