Поделиться через


Литералы (F#)

В этом разделе приведена таблица, поясняющая, как указывать тип литерала в языке F#.

Типы литералов

В следующей таблице показаны типы литералов в языке F#. Регистр символов, представляющих цифры в шестнадцатеричном формате, не учитывается; регистр символов, которые идентифицируют тип, учитывается.

Тип

Описание

Суффикс или префикс

Примеры

sbyte

8-разрядное целое число со знаком

y

86y

0b00000101y

byte

8-разрядное натуральное число без знака

uy

86uy

0b00000101uy

int16

16-разрядное целое число со знаком

s

86s

uint16

16-разрядное натуральное число без знака

us

86us

int

int32

32-разрядное целое число со знаком

или пустое

86

86l

uint

uint32

32-разрядное натуральное число без знака

u или ul

86u

86ul

nativeint

собственный указатель в виде целочисленного значения

n

0x00002D3Fn

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

Знак Юникода

нет

'a'

Строка

строка Юникода

нет

"text\n" или @"c:\filename"

byte

символ ASCII

B

'a'B

byte[]

строка ASCII

B

"text"B

String или byte[]

буквальная строка

@ (префикс)

@"\\server\share" (Юникод)

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

Заметки

Строки Юникода могут содержать явные кодировки, которые можно указывать с помощью префикса \u, за которым следует 16-разрядный шестнадцатеричный код, или кодировки UTF-32, которые можно указывать с помощью префикса \U, за которым следует 32-разрядный шестнадцатеричный код, представляющий суррогатную пару Юникода.

Именованные литералы

Значения, которые предназначены быть константами, можно пометить атрибутом Literal. Использование этого атрибута приводит к тому, что значение компилируется в качестве константы.

В выражениях сопоставления шаблонов идентификаторы, которые начинаются с символов нижнего регистра, всегда рассматриваются как переменные, для которых выполняется привязка, а не как литералы. Поэтому при определении литералов следует использовать прописные символы.

См. также

Ссылки

Литералы (F#)

Класс Core.LiteralAttribute (F#)

Журнал изменений

Дата

Журнал

Причина

Апрель 2011

Добавлен синтаксис типа byte и сведения о типах int, uint, int32, uint32.

Обратная связь от клиента.