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) 来指定。

    不允许使用除 ||| 外的位运算符。

    其他基数中的整数

    还可以分别使用 0x0o0b 前缀以十六进制、八进制或二进制指定有符号 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