Dee*_*Nag 13 c# collections ienumerable
我IEnumerable<T>什么时候可以使用...我说List<T>什么?前者优于后者有什么优势?
Ree*_*sey 31
IEnumerable<T>是一个接口告诉我们,我们可以枚举一系列T实例.如果您需要允许某人查看并对集合中的每个对象执行某些操作,这就足够了.
List<T>另一方面,是以IEnumerable<T>特定的已知方式存储对象的特定实现.在内部,这可能是一种非常好的方式来存储您通过公开的值IEnumerable<T>,但是List<T>并不总是合适的.例如,如果您不需要按索引访问项目,但不断在集合的开头插入项目,然后从最后删除项目,Queue<T>则更适合使用.
通过IEnumerable<T>在API中使用,您可以随时灵活地更改内部实现,而无需更改任何其他代码.这在使您的代码具有灵活性和可维护性方面具有巨大优势.