Unicode 字符串
"text\n"
或
@"c:\filename"
或
"""<book title="Paradise Lost">"""
或
"string1" + "string2"
另请参阅
字符串
。
ASCII 字符
byte[]
ASCII 字符串
"text"B
字符串或字节[]
逐字字符串
@"\\server\share"
(Unicode)
@"\\server\share"B
(ASCII)
可以使用
Literal
属性标记旨在成为常量的值。 此属性具有导致将值编译为常量的效果。
命名文本适用于:
不带
when
子句的模式匹配。
属性参数。
静态类型提供程序参数。
在模式匹配表达式中,以小写字符开头的标识符始终被视为要绑定的变量,而不是文本,因此在定义文本时,通常应该将首字母大写。
[<Literal>]
let SomeJson = """{"numbers":[1,2,3,4,5]}"""
[<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
Unicode 字符串可以包含显式编码或 UTF-32 编码,前者可以使用 \u
后跟 16 位十六进制代码 (0000 - FFFF) 来指定,后者可以使用 \U
后跟代表任何 Unicode 码位的 32 位十六进制代码 (00000000 - 0010FFFF) 来指定。
不允许使用除 |||
外的位运算符。
其他基数中的整数
还可以分别使用 0x
、0o
或 0b
前缀以十六进制、八进制或二进制指定有符号 32 位整数。
let numbers = (0x9F, 0o77, 0b1010)
// Result: numbers : int * int * int = (159, 63, 10)
数值文本中的下划线
可以使用下划线字符 (_
) 分隔数字。
let value = 0xDEAD_BEEF
let valueAsBits = 0b1101_1110_1010_1101_1011_1110_1110_1111
let exampleSSN = 123_456_7890