List <string>和IEnumerable <string>之间有什么区别?</string> </string>

时间:2010-11-15 01:30:10

标签: c# .net

  

可能重复:
  What's the difference between IEnumerable and Array, IList and List?

上述两者之间有什么区别?

5 个答案:

答案 0 :(得分:73)

List<string>IEnumerable<string>的具体实现。不同之处在于IEnumerable<string>仅仅是string的序列,但List<string>可以通过int索引编制索引,可以添加到&删除,也可以在特别指数。

基本上,界面IEnumerable<string>允许您在序列中流式传输string,但List<string>允许您执行此操作,以及以特定方式修改和访问列表中的项目。 IEnumerable<string>string的一般序列,可以迭代但不允许随机访问。 List<string>是特定的随机访问变量大小集合。

答案 1 :(得分:10)

不同。

IEnumerable使您可以使用for-each循环遍历集合。

IEnumerable只有方法GetEnumerator。

并列出它实现了许多接口,如IEnumerable,Ilist等。在List中有很多功能。

在性能IEnumerable中比List快。

答案 2 :(得分:4)

IEnumerable<T>是一个界面。必须实施。

List<T>IEnumerable<T>

的一个实现

答案 3 :(得分:2)

一个是界面: http://msdn.microsoft.com/en-us/library/9eekhta0.aspx

另一个是实现该接口的类: http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx

此外,List是一个在向其添加元素时增长的数组,而IEnumerable允许实现者在foreach中使用。

答案 4 :(得分:2)

第一个是字符串的具体List,另一个是实现IEnumerable<string>的任何类