关于c#:List和IEnumerable之间的实际区别

Practical difference between List and IEnumerable

本问题已经有最佳答案,请猛点这里访问。

通过阅读类似的文章,我了解到列表是一种IEnumerable类型。但我真的很想知道这两者的实际区别是什么。

对于一直使用列表但从未使用过IEnumerable的用户:

  • 两者的实际区别是什么?
  • 在什么情况下,他们中的一个比另一个好?

下面是一个实际例子:我们要存储四个字符串,按字母顺序排列,将它们传递给另一个函数,然后向用户显示结果。我们会用什么?为什么?

希望有人能帮我解决这个问题,或者给我指明正确的方向。事先谢谢!


一个重要的差异之间的IEnumerable和战略(此外有一个接口与其他混凝土类作为一个IEnumerable冰)是只读和狡猾的冰槽。

所以如果你需要永久性变化的能力,使你的脸颊,任何两个集合(add和remove),你会需要技巧。如果你只需要读,黑色和/或过滤你的收藏,IEnumerable,足以用冰。

所以在你的应用实例,如果你想添加的四个小时。一开始,你会需要的战略。但如果你是来收集所有你一次,你可以使用IEnumerable。

1
IEnumerable firstFourLettersOfAlphabet = new[]{"a","b","c","d"};

然后,你可以使用LINQ过滤或两个黑色的诡计,但是你想要的。


很多比其他类型的战略实施这样的IEnumerable作为一个ArrayList。所以一个冰的优势,你可以通过收集不同类型的两个相同的功能。