文本 (F#)

本主题提供了一个表,该表显示如何指定 F# 中文本的类型。

文本类型

下表显示了 F# 中的文本类型。 以十六进制表示法表示数字的字符不区分大小写;标识类型的字符区分大小写。

类型

描述

后缀或前缀

示例

sbyte

有符号 8 位整数

y

86y

0b00000101y

byte

无符号 8 位自然数

uy

86uy

0b00000101uy

int16

有符号 16 位整数

s

86s

uint16

无符号 16 位自然数

us

86us

int

int32

有符号 32 位整数

l 或 none

86

86l

uint

uint32

无符号 32 位自然数

u 或 ul

86u

86ul

unativeint

无符号自然数形式的本机指针

un

0x00002D3Fun

int64

有符号 64 位整数

L

86L

uint64

无符号 64 位自然数

UL

86UL

single, float32

32 位浮点数

F 或 f

4.14F 或 4.14f

lf

0x00000000lf

float; double

64 位浮点数

4.14 或 2.3E+32 或 2.3e+32

LF

0x0000000000000000LF

bigint

未限制为 64 位表示形式的整数

I

9999999999999999999999999999I

decimal

表示为定点数或有理数的分数

M 或 m

0.7833M 或 0.7833m

Char

Unicode 字符

'a'

字符串

Unicode 字符串

"text\n"

@"c:\filename"

"""<book title="Paradise Lost">"""

"string1" + "string2"

另请参见字符串 (F#)

byte

ASCII 字符

B

'a'B

byte[]

ASCII 字符串

B

"text"B

String 或 byte[]

原义字符串

@ 前缀

@"\\server\share" (Unicode)

@"\\server\share"B (ASCII)

备注

Unicode 字符串可包含显式编码(可通过使用后跟 16 位十六进制代码的 \u 指定),也可包含 UTF-32 编码(可通过使用后跟表示 Unicode 代理项对的 32 位十六进制代码的 \U 指定)。

自 F# 3.1,您可以使用 + 符号合并字符串文本。 也可使用位或 (|||) 运算符来组合枚举标志。 例如,以下代码在 F# 3.1 中合法:

[<Literal>]
let literal1 = "a" + "b"

[<Literal>]
let fileLocation =   __SOURCE_DIRECTORY__ + "/" + __SOURCE_FILE__

[<Literal>]
let literal2 = 1 ||| 64

[<Literal>]
let literal3 = System.IO.FileAccess.Read ||| System.IO.FileAccess.Write

不允许使用其他按位运算符。

命名文字

预期为常量的值可以用文字属性进行标记。 此属性具有使一个值按常数进行编译的效果。

在匹配表达式的模式中,以小写字母开头的标识符都被视为要绑定的变量,而不是文字,因此一般情况下您应使用首字母大写定义文字。

请参见

参考

文本 (F#)

Core.LiteralAttribute 类 (F#)