Литералы (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. Использование этого атрибута приводит к тому, что значение компилируется в качестве константы.
В выражениях сопоставления шаблонов идентификаторы, которые начинаются с символов нижнего регистра, всегда рассматриваются как переменные, для которых выполняется привязка, а не как литералы. Поэтому при определении литералов следует использовать прописные символы.
См. также
Ссылки
Класс Core.LiteralAttribute (F#)
Журнал изменений
Дата |
Журнал |
Причина |
---|---|---|
Апрель 2011 |
Добавлен синтаксис типа byte и сведения о типах int, uint, int32, uint32. |
Обратная связь от клиента. |