通过阅读类似的帖子,我了解到列表是一种IEnumerable.但我真的很想知道这两者的实际区别是什么.
对于一直使用列表但从未使用过IEnumerable的人:
- 这两者的实际区别是什么?
- 在什么情况下,其中一个比另一个好?
下面是practical example分: 我们希望存储四个字符串,按字母顺序排序,将它们传递给另一个函数,然后向用户显示结果.我们会使用什么?为什么?
希望有人能帮我解决这个问题,或者给我指出正确的方向.
通过阅读类似的帖子,我了解到列表是一种IEnumerable.但我真的很想知道这两者的实际区别是什么.
对于一直使用列表但从未使用过IEnumerable的人:
下面是practical example分: 我们希望存储四个字符串,按字母顺序排序,将它们传递给另一个函数,然后向用户显示结果.我们会使用什么?为什么?
希望有人能帮我解决这个问题,或者给我指出正确的方向.
IEnumerable和List之间的一个重要区别(除了一个是接口,另一个是具体类)是IEnumerable是只读的,List不是.
因此,如果您需要对Collection 进行任何类型的永久性更改(添加和删除),您将需要List.如果你只需要阅读、排序和/或过滤你的Collection ,IEnumerable就足够了.
所以在你的实际例子中,如果你想一次添加一个字符串,你需要一个列表.但是,如果同时实例化集合,可以使用IEnumerable.
IEnumerable firstFourLettersOfAlphabet = new[]{"a","b","c","d"};
然后,您可以使用LINQ根据需要对列表进行过滤或排序.