本主题包含指向有关所有 F# 语言关键字的信息的链接。
F# 关键字表
下表按字母顺序显示所有 F# 关键字,并提供了简短说明和指向包含更多信息的相关主题的链接。
关键字  | 
Link  | 
说明  | 
|---|---|---|
abstract  | 
指示一个方法,该方法在声明它的类型中没有任何实现,或者该方法是一个虚方法并具有默认实现。  | 
|
and  | 
在互相递归绑定中和属性声明中使用,并与泛型形参的多个约束一起使用。  | 
|
as  | 
用于为当前类对象给定一个对象名称。还用于为模式匹配中的整个模式给定一个名称。  | 
|
assert  | 
用于在调试过程中验证代码。  | 
|
base  | 
用作基类对象的名称。  | 
|
begin  | 
在详细语法中,指示代码块的开头。  | 
|
class  | 
在详细语法中,指示类定义的开头。  | 
|
default  | 
指示抽象方法的实现;与抽象方法声明一起使用可创建虚方法。  | 
|
delegate  | 
用于声明委托。  | 
|
do  | 
在循环构造中使用或用于执行命令性代码。  | 
|
done  | 
在详细语法中,指示循环表达式中的代码块的结尾。  | 
|
downcast  | 
用于转换为继承链中更低层的类型。  | 
|
downto  | 
在 for 表达式中,当进行反向计数时使用。  | 
|
elif  | 
在条件分支中使用。else if 的缩写形式。  | 
|
else  | 
在条件分支中使用。  | 
|
end  | 
在类型定义和类型扩展中,指示成员定义的一个部分的结尾。 在详细语法中,用于指定以 begin 关键字开头的代码块的结尾。  | 
|
exception  | 
用于声明异常类型。  | 
|
extern  | 
指示在另一个二进制文件或程序集中定义一个已声明的程序元素。  | 
|
false  | 
用作布尔文本。  | 
|
finally  | 
与 try 一起使用以引入要执行的代码块(不管是否发生了异常)。  | 
|
for  | 
在循环构造中使用。  | 
|
fun  | 
在 lambda 表达式中使用,也称作匿名函数。  | 
|
function  | 
在具有针对单个参数的模式匹配的 lambda 表达式中,用作 fun 关键字和 match 表达式的更简短的替代。  | 
|
global  | 
用于引用顶级 .NET 命名空间。  | 
|
if  | 
在条件分支构造中使用。  | 
|
in  | 
用于序列表达式,并且在详细语法中,用于将表达式与绑定分离。  | 
|
inherit  | 
用于指定基类或基接口。  | 
|
inline  | 
用于指示一个应直接集成到调用方代码中的函数。  | 
|
interface  | 
用于声明和实现接口。  | 
|
internal  | 
用于指定一个成员在程序集内部可见,但在程序集外部不可见。  | 
|
lazy  | 
用于指定一个仅在需要结果时才执行的计算。  | 
|
let  | 
用于将一个名称关联或绑定到一个值或函数。  | 
|
let!  | 
用于在异步工作流将名称绑定到一个异步计算的结果,或在其他计算表达式,用于将名称绑定到因此,计算类型。  | 
|
match  | 
用于通过将值与模式进行比较来进行分支。  | 
|
member  | 
用于在对象类型中声明属性或方法。  | 
|
module  | 
用于将一个名称与一组相关类型、值或函数关联,以便从逻辑上将该名称与其他代码分离。  | 
|
mutable  | 
用于声明一个变量(即一个可更改的值)。  | 
|
namespace  | 
用于将一个名称与一组相关类型和模块关联,以便从逻辑上将该名称与其他代码分离。  | 
|
new  | 
用于声明、定义或调用一个创建或可创建对象的构造函数。 另外,在泛型形参约束中使用此关键字可指示类型必须具有某个构造函数。  | 
|
not  | 
实际上并不是一个关键字。但组合的 not struct 将用作泛型形参约束。  | 
|
null  | 
指示缺少对象。 还在泛型形参约束中使用。  | 
|
of  | 
在可区分联合中使用可指示值类别的类型,而且可以在委托和异常声明中使用。  | 
|
open  | 
用于使命名空间或模块的内容可用而不用进行限定。  | 
|
or  | 
与布尔条件一起用作布尔 or 运算符。等效于 ||。 还在成员约束中使用。  | 
|
override  | 
用于实现与基版本不同的某个版本的抽象方法或虚方法。  | 
|
private  | 
限制只有同一类型或模块中的代码才可以访问成员。  | 
|
public  | 
允许从类型外部访问成员。  | 
|
rec  | 
用于指示函数是递归函数。  | 
|
return  | 
用于指示要作为计算表达式的结果提供的值。  | 
|
return!  | 
用于指示,那么,当计算,提供包含的计算表达式的结果的计算表达式。  | 
|
select  | 
用于在查询表达式中指定字段或列提取。请注意这是一个上下文关键字,这意味着,实际上不是保留字,它只象一个关键字在适当的上下文。  | 
|
static  | 
用于指示可在不使用某个类型的实例的情况下调用的方法或属性,或指示在某个类型的所有实例中共享的值成员。  | 
|
struct  | 
用于声明结构类型。 还在泛型形参约束中使用。 用于在模块定义中实现 OCaml 兼容性。  | 
|
then  | 
在条件表达式中使用。 还用于表现对象构造后的副作用。  | 
|
to  | 
在 for 循环中用于指示一个范围。  | 
|
true  | 
用作布尔文本。  | 
|
try  | 
用于引入可能会生成异常的代码块。与 with 或 finally 一起使用。  | 
|
type  | 
用于声明类、记录、结构、可区分联合、枚举类型、度量单位或类型缩写。  | 
|
upcast  | 
用于转换为继承链中更高层的类型。  | 
|
use  | 
用于代替为值的 let,这些值要求调用 Dispose 以释放资源。  | 
|
use!  | 
使用而不是 let! 在异步工作流和其他计算表达式为需要 Dispose 调用释放资源的值。  | 
|
val  | 
在签名中用于指示值,或在受限制情况下,在类型中用于声明成员。  | 
|
void  | 
指示 .NET void 类型。在与其他 .NET 语言进行互操作时使用。  | 
|
when  | 
用于模式匹配中的布尔条件(when 先决条件),并用于为泛型类型参数引入约束子句。  | 
|
while  | 
引入循环构造。  | 
|
with  | 
在模式匹配表达式中与 match 关键字一起使用。还在对象表达式、记录复制表达式和类型扩展中用于引入成员定义,并用于引入异常处理程序。  | 
|
yield  | 
在序列表达式中用于为序列生成值。  | 
|
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  |