Icollection是从Ienumberable(ICollection:IEnumerable)实现的, 然后为什么再次收集& IEnumerable都是为IList实现的(接口IList:ICollection,IEnumerable)。
答案 0 :(得分:2)
您的假设不正确。
The reference source for System.Collections.IList
表明它被定义为
public interface IList : ICollection
如果IEnumerable
已列在那里,那本来是有效的,并且意味着完全相同的事情,但与你的问题所说的相反,它不是。
答案 1 :(得分:1)
文档显示所有已实现的界面以便澄清,以便您可以轻松查看所有已实现的界面。(我认为这就是您提出这个问题的原因。)
在代码中,这两个版本是等效的:
IList<T> : ICollection<T>
IList<T> : ICollection<T>, IEnumerable<T>
答案 2 :(得分:-2)
ICollection接口扩展了IEnumerable。
IList是一个更专业的界面,可以扩展ICollection。
源: http://msdn.microsoft.com/en-us/library/system.collections.icollection%28v=vs.110%29.aspx (见备注)