Visual F# 2010 中的新增功能

F# 是 Visual Studio 2010 中提供的一种针对 .NET Framework 的多范例编程语言。 F# 支持函数编程、面向对象的编程以及命令性编程。

Visual Studio 2010 版的 Visual F# 的功能

以下各节介绍 Visual F# 的第一个版中提供的一些功能。

支持函数编程

可将函数视为值,并可以直接传递给其他函数。 使用此功能可以轻松地进行高阶函数(对函数进行操作的函数)编码。 同时还可以轻松地编写更具声明性的代码,从而减少出错的机会。

F# 支持组合编程。 可以使用简单的运算符语法按顺序组合和调用函数。 可以使用管道运算符组合函数调用,从而允许将一个函数的输出或返回值作为输入提供给另一个函数。 还可以通过使用组合运算符将函数组合在一起来定义新函数。

有关更多信息,请参见函数 (F#)

Lambda 表达式

通过 Lambda 表达式 可以就地定义函数,而不必单独命名函数。 有关更多信息,请参见 Lambda 表达式:fun 关键字 (F#)

有用的数据类型

F# 提供了支持函数编程风格的类型,例如,用于简单数据集合的元组和用于结构化符号数据的可区分联合。 有关更多信息,请参见元组 (F#)可区分联合 (F#)选项 (F#)

不可变的数据类型

F# 提供不可变的数据结构,例如,不可变的列表、映射、集、序列和记录。 有关更多信息,请参见列表 (F#)序列 (F#)记录 (F#)

模式匹配

通过模式匹配功能,可以将数据分解为各个构成部分,也可以基于数据的分解执行复杂的分支操作。 模式匹配还是可扩展的。 有关更多信息,请参见match 表达式 (F#)模式匹配 (F#)活动模式 (F#)

异步和并行编程

F# 支持异步编程,同时还包括一些构造,使得这种编程方式比以前更加容易。 有关更多信息,请参见异步工作流 (F#)。 F# 还可以与 .NET Framework 的并行扩展结合使用。 通过 F# Power Pack,还可以将 Parallel LINQ (PLINQ) 与 F# 结合使用。 有关更多信息,请参见.NET Framework 中的并行编程

交互式编程

Visual F# 包括一个 F# 解释器,即 F# Interactive (fsi.exe),它将以交互方式编译和执行代码。 这样,您就可以轻松地制作代码的原型,并试验编码构造,而无需编译项目。 F# Interactive 还与 Visual Studio IDE 集成在一起。 有关更多信息,请参见 F# Interactive (fsi.exe) 参考

延迟计算

F# 提供延迟计算功能,此功能可以将计算延迟到需要结果时再进行。 有关更多信息,请参见延迟计算 (F#)

支持面向对象的编程

F# 支持面向对象的语言功能,F# 程序通过这些功能可以完全访问 .NET Framework,而您也可以通过这些功能使用 F# 来生成 .NET Framework API。 有关更多信息,请参见类 (F#)成员 (F#)继承 (F#)

支持命令性编程

F# 支持命令性代码构造,例如,可变的变量和数组、具有副作用的函数以及循环构造。对于某些情况,这种编程是解决问题的最佳方式。

支持数学计算

F# 支持数学计算。 这包括运算符重载支持、处理泛型的运算符以及包括求幂运算符在内的一整套数学运算符。

F# 功能还支持带有关联的度量单位的浮点数据,从而允许使用带有单位检查的浮点公式。

高级类型系统

F# 支持泛型编程。 有关更多信息,请参见泛型 (F#)

F# 是一种支持类型推理的静态类型化语言。 这意味着,所有程序元素的类型在编译时都要明确,从而确保类型安全,但您不需要显式指定每个值的类型。 由于 F# 编译器通常能够推断出程序元素的类型,而无需提供显式类型,因此代码将更紧凑,并且一些与类型不匹配相关的编程错误也将减少。 类型推理还包括自动泛化,这意味着,可以为泛型的函数将会自动编译为泛型。 有关更多信息,请参见类型推理 (F#)

有用的库

Visual F# 包括一组为核心语言、集合类型、对 F# 程序集的反射以及格式化 I/O 提供支持的库。 F# 还提供对 .NET Framework 4 的完整功能(例如,.NET Framework 的并行扩展和 Windows Presentation Foundation)的访问。 有关更多信息,请参见 .NET Framework 4

请参见

其他资源

F# 语言参考

F# 入门