12.3 处理序列

来源:互联网 发布:linux init 6 reboot 编辑:程序博客网 时间:2024/05/21 21:37
12.3 处理序列



    处理序列,有多种选项,包括从低级的技术,能控制所有的详细信息,但难表达更复杂而通常的处理模式,到更高级的技术,虽然不能表达我们可能想要的所有,但表达非常优雅。

    在 C# 中,最低级别 (除了直接实现 IEnumerable<T> 接口) 是使用迭代器块,读取输入的序列,既可以使用 foreach,也可以使用枚举对象。更高级,我们可以使用预定义(或者我们自己的)的高阶方法,比如 Where 和 Select,如果处理只涉及某些特定的操作,我们可以使用 C# 3.0 的查询语法。

    处理 F# 中序列的最常见方法,类似于其他的集合类型。我们已经看到,列表可以用函数来处理,比如,List.filter 和 List.map,以及在 Array 模块中可用的处理数组的类似函数。在 Seq 模块中,也有用于处理序列的相同的函数集,一点也不奇怪。F# 语言不显式支持任何查询语法,但我们会看到,序列表达式一些观点统一了较低级别的迭代器和更高级的查询背后的思想。


原创粉丝点击