关键字参考 (F#)

本主题包含指向有关所有 F# 语言关键字的信息的链接。

F# 关键字表

下表按字母顺序显示所有 F# 关键字,并提供了简短说明和指向包含更多信息的相关主题的链接。

关键字

Link

说明

abstract

成员 (F#)

抽象类 (F#)

指示一个方法,该方法在声明它的类型中没有任何实现,或者该方法是一个虚方法并具有默认实现。

and

let 绑定 (F#)

成员 (F#)

约束 (F#)

在互相递归绑定中和属性声明中使用,并与泛型形参的多个约束一起使用。

as

类 (F#)

模式匹配 (F#)

用于为当前类对象给定一个对象名称。 还用于为模式匹配中的整个模式给定一个名称。

assert

断言 (F#)

用于在调试过程中验证代码。

base

类 (F#)

继承 (F#)

用作基类对象的名称。

begin

详细语法 (F#)

在详细语法中,指示代码块的开头。

class

类 (F#)

在详细语法中,指示类定义的开头。

default

成员 (F#)

指示抽象方法的实现;与抽象方法声明一起使用可创建虚方法。

delegate

委托 (F#)

用于声明委托。

do

do 绑定 (F#)

循环:for...to 表达式 (F#)

循环:for...in 表达式 (F#)

循环:while...do 表达式 (F#)

在循环构造中使用或用于执行命令性代码。

done

详细语法 (F#)

在详细语法中,指示循环表达式中的代码块的结尾。

downcast

强制转换和转换 (F#)

用于转换为继承链中更低层的类型。

downto

循环:for...to 表达式 (F#)

在 for 表达式中,当进行反向计数时使用。

elif

条件表达式:if... then...else (F#)

在条件分支中使用。 else if 的缩写形式。

else

条件表达式:if... then...else (F#)

在条件分支中使用。

end

结构 (F#)

可区分联合 (F#)

记录 (F#)

类型扩展 (F#)

详细语法 (F#)

在类型定义和类型扩展中,指示成员定义的一个部分的结尾。

在详细语法中,用于指定以 begin 关键字开头的代码块的结尾。

exception

异常处理 (F#)

异常类型 (F#)

用于声明异常类型。

extern

外部函数 (F#)

指示在另一个二进制文件或程序集中定义一个已声明的程序元素。

false

基元类型 (F#)

用作布尔文本。

finally

异常:try...finally 表达式 (F#)

与 try 一起使用以引入要执行的代码块(不管是否发生了异常)。

for

循环:for...to 表达式 (F#)

循环:for...in 表达式 (F#)

在循环构造中使用。

fun

Lambda 表达式:fun 关键字 (F#)

在 lambda 表达式中使用,也称作匿名函数。

function

match 表达式 (F#)

Lambda 表达式:fun 关键字 (F#)

在具有针对单个参数的模式匹配的 lambda 表达式中,用作 fun 关键字和 match 表达式的更简短的替代。

global

命名空间 (F#)

用于引用顶级 .NET 命名空间。

if

条件表达式:if... then...else (F#)

在条件分支构造中使用。

in

循环:for...in 表达式 (F#)

详细语法 (F#)

用于序列表达式,并且在详细语法中,用于将表达式与绑定分离。

inherit

继承 (F#)

用于指定基类或基接口。

inline

函数 (F#)

内联函数 (F#)

用于指示一个应直接集成到调用方代码中的函数。

interface

接口 (F#)

用于声明和实现接口。

internal

访问控制 (F#)

用于指定一个成员在程序集内部可见,但在程序集外部不可见。

lazy

延迟计算 (F#)

用于指定一个仅在需要结果时才执行的计算。

let

let 绑定 (F#)

用于将一个名称关联或绑定到一个值或函数。

let!

异步工作流

计算表达式

用于在异步工作流将名称绑定到一个异步计算的结果,或在其他计算表达式,用于将名称绑定到因此,计算类型。

match

match 表达式 (F#)

用于通过将值与模式进行比较来进行分支。

member

成员 (F#)

用于在对象类型中声明属性或方法。

module

模块 (F#)

用于将一个名称与一组相关类型、值或函数关联,以便从逻辑上将该名称与其他代码分离。

mutable

let 绑定 (F#)

用于声明一个变量(即一个可更改的值)。

namespace

命名空间 (F#)

用于将一个名称与一组相关类型和模块关联,以便从逻辑上将该名称与其他代码分离。

new

构造函数 (F#)

约束 (F#)

用于声明、定义或调用一个创建或可创建对象的构造函数。

另外,在泛型形参约束中使用此关键字可指示类型必须具有某个构造函数。

not

符号和运算符参考 (F#)

约束 (F#)

实际上并不是一个关键字。 但组合的 not struct 将用作泛型形参约束。

null

Null 值 (F#)

约束 (F#)

指示缺少对象。

还在泛型形参约束中使用。

of

可区分联合 (F#)

委托 (F#)

异常类型 (F#)

在可区分联合中使用可指示值类别的类型,而且可以在委托和异常声明中使用。

open

导入声明:open 关键字 (F#)

用于使命名空间或模块的内容可用而不用进行限定。

or

符号和运算符参考 (F#)

约束 (F#)

与布尔条件一起用作布尔 or 运算符。 等效于 ||。

还在成员约束中使用。

override

成员 (F#)

用于实现与基版本不同的某个版本的抽象方法或虚方法。

private

访问控制 (F#)

限制只有同一类型或模块中的代码才可以访问成员。

public

访问控制 (F#)

允许从类型外部访问成员。

rec

函数 (F#)

用于指示函数是递归函数。

return

异步工作流 (F#)

计算表达式 (F#)

用于指示要作为计算表达式的结果提供的值。

return!

计算表达式

异步工作流

用于指示,那么,当计算,提供包含的计算表达式的结果的计算表达式。

select

查询表达式 (F#)

用于在查询表达式中指定字段或列提取。 请注意这是一个上下文关键字,这意味着,实际上不是保留字,它只象一个关键字在适当的上下文。

static

成员 (F#)

用于指示可在不使用某个类型的实例的情况下调用的方法或属性,或指示在某个类型的所有实例中共享的值成员。

struct

结构 (F#)

约束 (F#)

用于声明结构类型。

还在泛型形参约束中使用。

用于在模块定义中实现 OCaml 兼容性。

then

条件表达式:if... then...else (F#)

构造函数 (F#)

在条件表达式中使用。

还用于表现对象构造后的副作用。

to

循环:for...to 表达式 (F#)

在 for 循环中用于指示一个范围。

true

基元类型 (F#)

用作布尔文本。

try

异常:try...with 表达式 (F#)

异常:try...finally 表达式 (F#)

用于引入可能会生成异常的代码块。 与 with 或 finally 一起使用。

type

F# 类型

类 (F#)

记录 (F#)

结构 (F#)

枚举 (F#)

可区分联合 (F#)

类型缩写 (F#)

度量单位 (F#)

用于声明类、记录、结构、可区分联合、枚举类型、度量单位或类型缩写。

upcast

强制转换和转换 (F#)

用于转换为继承链中更高层的类型。

use

资源管理:use 关键字 (F#)

用于代替为值的 let,这些值要求调用 Dispose 以释放资源。

use!

计算表达式

异步工作流

使用而不是 let! 在异步工作流和其他计算表达式为需要 Dispose 调用释放资源的值。

val

显式字段:val 关键字 (F#)

签名 (F#)

成员 (F#)

在签名中用于指示值,或在受限制情况下,在类型中用于声明成员。

void

基元类型 (F#)

指示 .NET void 类型。 在与其他 .NET 语言进行互操作时使用。

when

约束 (F#)

用于模式匹配中的布尔条件(when 先决条件),并用于为泛型类型参数引入约束子句。

while

循环:while...do 表达式 (F#)

引入循环构造。

with

match 表达式 (F#)

对象表达式 (F#)

类型扩展 (F#)

异常:try...with 表达式 (F#)

在模式匹配表达式中与 match 关键字一起使用。 还在对象表达式、记录复制表达式和类型扩展中用于引入成员定义,并用于引入异常处理程序。

yield

序列 (F#)

在序列表达式中用于为序列生成值。

yield!

计算表达式

异步工作流

用于在计算表达式追加一个给定计算表达式的结果到结果的集合包含的计算表达式中。

此外,F# 中将保留以下标记,因为这些标记是 OCaml 语言中的关键字:

asr

land

lor

lsl

lsr

lxor

mod

sig

如果使用 --mlcompatibility 编译器选项,则可将这些关键字用作标识符。

以下标记将作为关键字保留以便将来扩展 F# 语言:

atomic

break

checked

component

const

constraint

constructor

continue

eager

event

external

fixed

functor

include

method

mixin

object

parallel

process

protected

pure

sealed

tailcall

trait

virtual

volatile

请参见

参考

符号和运算符参考 (F#)

其他资源

F# 语言参考

编译器选项 (F#)