列表和序列之间的区别

Pea*_*nut 2 c# f# sequences list

我试图理解序列和列表之间的区别.

在F#中,两者之间有明显的区别.但是在C#中,我看到程序员将IEnumerable集合称为序列.是什么让IEnumerable成为一个序列,它返回一个对象来迭代整个集合?

也许真正的区别纯粹出现在函数式语言中?

Jon*_*eet 7

不是真的 - 你倾向于随机访问列表,以及能够快速获得计数等.不可否认,链接列表没有随机访问性质......但是它们没有实现IList<T>.特定平台提供的设施与一般概念之间存在灰色区域.

序列(由表示IEnumerable<T>)是只读的,仅向前的,一次一个项目,并且可能是无限的.当然,序列的任何一个实现也可以是一个列表(例如List<T>)但是当你将它作为一个序列处理时,你基本上可以迭代它(重复),就是这样.