基本 F# 运算符。 此模块会自动在所有 F# 代码中打开。
命名空间/模块路径: Microsoft.FSharp.Core
程序集:FSharp.Core(在 FSharp.Core.dll 中)
[<AutoOpen>]
module Operators
备注
有关 F# 中运算符的概述,请参见符号和运算符参考 (F#)。
模块
| 模块 | 说明 | 
|---|---|
| 模块 Checked | 此模块包含带溢出检查的基本算术运算。 | 
| 编译器内部函数组成的模块,用于有效实现 F# 整数范围和动态调用其他 F# 运算符 | |
| 模块 Unchecked | 此模块包含基本运算,这些基本运算不应用运行时和/或静态检查 | 
值
| 值 | 说明 | 
|---|---|
| ( !) : 'T ref -> 'T | 取消对可变引用单元格的引用。 | 
| ( % ) : ^T1 -> ^T2 -> ^T3 | 重载取模运算符。 | 
| ( &&& ) : ^T -> ^T -> ^T | 重载的逻辑 AND 运算符。 | 
| ( * ) : ^T1 -> ^T2 -> ^T3 | 重载乘法运算符。 | 
| ( ** ) : ^T -> ^U -> ^T | 重载幂运算符。 | 
| ( + ) : ^T1 -> ^T2 -> ^T3 | 重载加法运算符。 | 
| ( - ) : ^T1 -> ^T2 -> ^T3 | 重载减法运算符。 | 
| ( ..) : ^T -> ^T -> seq<^T> | 标准重载范围运算符,例如, 用于列表的 [n..m],用于序列的 seq {n..m} | 
| ( ....) : ^T -> ^Step -> ^T -> seq<^T> | 标准重载跳过范围运算符,例如, 用于列表的[n..skip..m] 和用于序列的 seq {n..skip..m} | 
| ( / ) : ^T1 -> ^T2 -> ^T3 | 重载除法运算符。 | 
| ( := ) : 'T ref -> 'T -> unit | 分配给可变引用单元格。 | 
| ( < ) : 'T -> 'T -> bool | 结构小于比较。 | 
| ( << ) : ('T2 -> 'T3) -> ('T1 -> 'T2) -> 'T1 -> 'T3 | 组合两个函数,首先应用右边的函数。 | 
| ( <<< ) : ^T -> int32 -> ^T | 经过重载的按指定位数移位的字节左移运算符。 | 
| ( <= ) : 'T -> 'T -> bool | 结构小于或等于比较。 | 
| ( <> ) : 'T -> 'T -> bool | 结构不相等。 | 
| ( <| ) : ('T -> 'U) -> 'T -> 'U | 将函数应用于一个值;值在右边,函数在左边。 | 
| ( <|| ) : ('T1 -> 'T2 -> 'U) -> 'T1 * 'T2 -> 'U | 将函数应用于两个值;值构成一对在右边,函数在左边。 | 
| ( <||| ) : ('T1 -> 'T2 -> 'T3 -> 'U) -> 'T1 * 'T2 * 'T3 -> 'U | 将函数应用于三个值;值构成三元组在右边,函数在左边。 | 
| ( = ) : 'T -> 'T -> bool | 结构相等。 | 
| ( > ) : 'T -> 'T -> bool | 结构大于。 | 
| ( >= ) : 'T -> 'T -> bool | 结构大于或等于。 | 
| ( >> ) : ('T1 -> 'T2) -> ('T2 -> 'T3) -> 'T1 -> 'T3 | 组合两个函数,首先应用左边的函数。 | 
| ( >>> ) : ^T -> int32 -> ^T | 经过重载的按指定位数移位的字节右移运算符。 | 
| ( @ ) : 'T list -> 'T list -> 'T list | 串联两个列表。 | 
| ( ^ ) : string -> string -> string | 连接两个字符串。 也可使用运算符“+”。 | 
| ( ^^^ ) : ^T -> ^T -> ^T | 重载逻辑异或运算符。 | 
| ( |> ) : 'T1 -> ('T1 -> 'U) -> 'U | 将函数应用于一个值;值在左边,函数在右边。 | 
| ( ||> ) : 'T1 * 'T2 -> ('T1 -> 'T2 -> 'U) -> 'U | 将函数应用于两个值;值对在左边,函数在右边。 | 
| ( ||| ) : ^T -> ^T -> ^T | 重载的逻辑或运算符 | 
| ( |||> ) : 'T1 * 'T2 * 'T3 -> ('T1 -> 'T2 -> 'T3 -> 'U) -> 'U | 将函数应用于三个值;三元组值在左边,函数在右边。 | 
| ( ~+ ) : ^T -> ^T | 重载 prefix plus 运算符。 | 
| ( ~- ) : ^T -> ^T | 重载一元求反。 | 
| ( ~~~ ) : ^T -> ^T | 重载逻辑非运算符。 | 
| abs : ^T -> ^T | 给定数的绝对值。 | 
| acos : ^T -> ^T | 给定数的反余弦值。 | 
| asin : ^T -> ^T | 给定数的反正弦值。 | 
| atan : ^T -> ^T | 给定数的反正切值。 | 
| atan2 : ^T1 -> ^T2 -> 'T2 | x/y 的反正切值,其中 x 和 y 是分别指定的。 | 
| box : 'T -> obj | 将强类型值装箱。 | 
| byte : ^T -> byte | 将参数转换为字节。 这是所有基元数值类型的直接转换。 对于字符串,将使用具有 InvariantCulture 设置的 Parse 来转换输入。 否则,操作需要对输入类型使用适当的静态转换方法。 | 
| ceil : ^T -> ^T | 给定数的上限。 | 
| char : ^T -> char | 将参数转换为字符。 根据字符的 UTF-16 编码来转换数字输入。 字符串输入的长度必须恰好为一个字符。 对于其他输入类型,操作需要对输入类型使用适当的静态转换方法。 | 
| compare : 'T -> 'T -> int | 泛型比较。 | 
| cos : ^T -> ^T | 给定数的余弦值。 | 
| cosh : ^T -> ^T | 给定数的双曲余弦值。 | 
| decimal : ^T -> decimal | 使用用于所有基元数值类型的直接转换方式,将参数转换为 Decimal。 对于字符串,将使用具有 InvariantCulture 设置的 Parse 来转换输入。 否则,操作需要对输入类型使用适当的静态转换方法。 | 
| decr : int ref -> unit | 递减包含整数的可变引用单元格。 | 
| defaultArg : 'T option -> 'T -> 'T | 用于为函数实现中的可选参数指定默认值。 | 
| enum : int32 -> ^U | 将参数转换为特定的 enum 类型。 | 
| exit : int -> 'T | 如果安全设置允许,则退出当前硬件独立进程,否则引发异常。 调用 Exit。 | 
| exp : ^T -> ^T | 给定数的指数。 | 
| 失败 : string -> exn | 生成 Exception 对象。 | 
| failwith : string -> 'T | 引发一个 Exception 异常。 | 
| float : ^T -> float | 将参数转换为 64 位浮点数。 这是所有基元数值类型的直接转换。 对于字符串,将使用具有 InvariantCulture 设置的 Parse 来转换输入。 否则,操作需要对输入类型使用适当的静态转换方法。 | 
| float32 : ^T -> float32 | 将参数转换为 32 位浮点数。 这是所有基元数值类型的直接转换。 对于字符串,将使用具有 InvariantCulture 设置的 Parse 来转换输入。 否则,操作需要对输入类型使用适当的静态转换方法。 | 
| floor : ^T -> ^T | 给定数的下限。 | 
| fst : 'T1 * 'T2 -> 'T1 | 返回元组的第一个元素,fst (a,b) = a。 | 
| hash : 'T -> int | 泛型哈希算法,用于根据 = 运算符返回相等项的相等哈希值。 默认情况下,它将对 F# 联合、记录和元组类型使用结构哈希处理,对类型的全部内容进行哈希处理。 可通过为每个类型实现 GetHashCode,按类型对函数的确切行为进行调整。 | 
| id : 'T -> 'T | 标识函数。 | 
| ignore : 'T -> unit | 忽略传递的值。 这常用于丢弃计算结果。 | 
| incr : int ref -> unit | 递增包含整数的可变引用单元格 | 
| infinity : float | 等效于 PositiveInfinity. | 
| infinityf : float32 | 等效于 PositiveInfinity. | 
| int : ^T -> int | 将参数转换为有符号的 32 位整数。 这是所有基元数值类型的直接转换。 对于字符串,将使用具有 InvariantCulture 设置的 Parse 来转换输入。 否则,操作需要对输入类型使用适当的静态转换方法。 | 
| int16 : ^T -> int16 | 将参数转换为有符号的 16 位整数。 这是所有基元数值类型的直接转换。 对于字符串,将使用具有 InvariantCulture 设置的 Parse 来转换输入。 否则,操作需要对输入类型使用适当的静态转换方法。 | 
| int32 : ^T -> int32 | 将参数转换为有符号的 32 位整数。 这是所有基元数值类型的直接转换。 对于字符串,将使用具有 InvariantCulture 设置的Parse) 来转换输入。 否则,操作需要对输入类型使用适当的静态转换方法。 | 
| int64 : ^T -> int64 | 将参数转换为有符号的 64 位整数。 这是所有基元数值类型的直接转换。 对于字符串,将使用具有 InvariantCulture 设置的 Parse 来转换输入。 否则,操作需要对输入类型使用适当的静态转换方法。 | 
| invalidArg : string -> string -> 'T | 引发一个 ArgumentException 异常。 | 
| invalidOp : string -> 'T | 引发一个 InvalidOperationException 异常。 | 
| limitedHash : int -> 'T -> int | 泛型哈希函数。 此函数与 hash 具有相同的行为,但当达到节点的给定限制时,针对 F# 联合、记录和元组类型的默认结构哈希处理就会停止。 可通过为每个类型实现 GetHashCode,按类型对函数的确切行为进行调整。 | 
| lock : 'Lock -> (unit -> 'T) -> 'T | 以输入值作为锁,将函数作为互斥区域执行。 | 
| log : ^T -> ^T | 给定数的自然对数。 | 
| log10 : ^T -> ^T | 给定数的以 10 为底的对数。 | 
| max : 'T -> 'T -> 'T | 基于泛型比较的最大值。 | 
| min : 'T -> 'T -> 'T | 基于泛型比较的最小值。 | 
| nan : float | 等效于 NaN. | 
| nanf : float32 | 等效于 NaN. | 
| nativeint : ^T -> nativeint | 将参数转换为有符号的本机整数。 这是所有基元数值类型的直接转换。 否则,操作需要对输入类型使用适当的静态转换方法。 | 
| not : bool -> bool | 对逻辑值求反。 | 
| nullArg : string -> 'T | 引发 ArgumentNullException 异常。 | 
| pown : ^T -> int -> ^T | 重载的幂运算符。 对于 x 的 n 个匹配项,如果 n > 0,则等效于 x*...*x。 | 
| raise : Exception -> 'T | 引发异常。 | 
| ref : 'T -> 'T ref | 创建可变引用单元格。 | 
| reraise : unit -> 'T | 再次引发异常。 仅应在处理异常时使用。 | 
| round : ^T -> ^T | 对给定数进行舍入。 | 
| sbyte : ^T -> sbyte | 将参数转换为有符号的字节。 这是所有基元数值类型的直接转换。 对于字符串,将使用具有 InvariantCulture 设置的 Parse 来转换输入。 否则,操作需要对输入类型使用适当的静态转换方法。 | 
| seq : seq<'T> -> seq<'T> | 使用序列表达式语法生成序列。 | 
| sign : ^T -> int | 给定数的符号。 | 
| sin : ^T -> ^T | 给定数的正弦值。 | 
| sinh : ^T -> ^T | 给定数的双曲正弦值。 | 
| sizeof : int | 返回类型的内部大小(以字节为单位)。 例如,sizeof<int> 返回 4。 | 
| snd : 'T1 * 'T2 -> 'T2 | 返回元组的第二个元素,snd (a,b) = b。 | 
| sqrt : ^T -> ^T | 给定数的平方根。 | 
| stderr : TextWriter | 读取属性 Error 的值。 | 
| stdin : TextReader | 读取属性 In 的值。 | 
| stdout : TextWriter | 读取属性 Out 的值。 | 
| string : ^T -> string | 使用 ToString 将参数转换为字符串。 | 
| tan : ^T -> ^T | 给定数的正切值。 | 
| tanh : ^T -> ^T | 给定数的双曲正切值。 | 
| truncate : ^T -> ^T | 重载截断运算符。 | 
| typedefof : Type | 生成类型定义的 Type 表示形式。 如果输入类型是泛型类型实例化,则返回与所有此类实例化相关联的泛型类型定义。 | 
| typeof : Type | 生成静态类型 Type 运行时的表示形式。 返回的值仍保留为静态类型。 | 
| uint16 : ^T -> uint16 | 将参数转换为无符号 16 位整数。 这是所有基元数值类型的直接转换。 对于字符串,将使用具有 InvariantCulture 设置的 Parse 来转换输入。 否则,操作需要对输入类型使用适当的静态转换方法。 | 
| uint32 : ^T -> uint32 | 将参数转换为无符号 32 位整数。 这是所有基元数值类型的直接转换。 对于字符串,将使用具有 InvariantCulture 设置的 Parse 来转换输入。 否则,操作需要对输入类型使用适当的静态转换方法。 | 
| uint64 : ^T -> uint64 | 将参数转换为无符号 64 位整数。 这是所有基元数值类型的直接转换。 对于字符串,将使用具有 InvariantCulture 设置的 Parse 来转换输入。 否则,操作需要对输入类型使用适当的静态转换方法。 | 
| unativeint : ^T -> nativeint | 使用所有基元数值类型的直接转换方式,将参数转换为无符号本机整数。 否则,操作需要对输入类型使用适当的静态转换方法。 | 
| unbox : obj -> 'T | 将强类型值取消装箱。 box, unbox<'T>(box<'T> a) 的反向运算等于 a。 | 
| using : 'T -> ('T -> 'U) -> 'U | 完成给定函数后,清理与输入对象相关联的资源。 即使受保护的代码引发异常,也进行清理。 | 
活动模式
| 活动模式 | 说明 | 
|---|---|
| ( |Failure|_| ) : exn -> string option | |
| ( |KeyValue| ) : KeyValuePair<'Key,'Value> -> 'Key * 'Value | 一种活动模式,用于匹配类型 KeyValuePair<TKey, TValue> 的值 | 
平台
Windows 7、Windows Vista SP2、Windows XP SP3、Windows XP x64 SP2、Windows Server 2008 R2、Windows Server 2008 SP2、Windows Server 2003 SP2
版本信息
F# 运行时
受以下版本支持:2.0、4.0
Silverlight
受以下版本支持:3