【发布时间】:2010-11-15 09:36:50
【问题描述】:
【问题讨论】:
【问题讨论】:
List<string> 是IEnumerable<string> 的具体实现。不同之处在于IEnumerable<string> 只是string 的序列,但List<string> 可以通过int 索引进行索引,可以在特定索引中添加和删除以及插入项目。
基本上,接口IEnumerable<string> 允许您按顺序流式传输string,但List<string> 允许您执行此操作以及以特定方式修改和访问列表中的项目。 IEnumerable<string> 是 string 的一般序列,可以迭代但不允许随机访问。 List<string> 是一个特定的随机访问可变大小集合。
【讨论】:
IEnumerable 并且它不是抽象的,它实际上是可构造的。
不同。
IEnumerable 使您能够使用 for-each 循环遍历集合。
而 IEnumerable 只有 GetEnumerator 方法。
List实现了IEnumerable、Ilist等很多接口,List里面的功能很多。
在性能上 IEnumerable 比 List 快。
【讨论】:
IEnumerable<T> 是一个接口。必须执行。
List<T> 是IEnumerable<T> 的一种实现
【讨论】:
一个是接口: http://msdn.microsoft.com/en-us/library/9eekhta0.aspx
另一个是实现该接口的类: http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx
此外,List 是一个数组,当您向其中添加元素时会增长,而 IEnumerable 允许在 foreach 中使用实现者。
【讨论】:
第一个是字符串的具体List,另一个是实现IEnumerable<string>的任何类
【讨论】: