Condividi tramite


Valori letterali (F#)

In questo argomento viene fornita una tabella in cui viene illustrato come specificare il tipo di un valore letterale in F#.

Tipi letterali

Nella tabella seguente sono illustrati i tipi letterali di F#. Per i caratteri che rappresentano cifre in notazione esadecimale non viene fatta distinzione tra maiuscole e minuscole, mentre per i caratteri che identificano il tipo sì.

Type

Descrizione

Suffisso o prefisso

Esempi

sbyte

Signed Integer a 8 bit

y

86y

0b00000101y

byte

Numero naturale senza segno a 8 bit

uy

86uy

0b00000101uy

int16

Signed Integer a 16 bit

s

86s

uint16

Numero naturale senza segno a 16 bit

us

86us

int

int32

Signed Integer a 32 bit

l o nessuno

86

86l

uint

uint32

Numero naturale senza segno a 32 bit

u o ul

86u

86ul

unativeint

Puntatore nativo come numero naturale senza segno

un

0x00002D3Fun

int64

Signed Integer a 64 bit

L

86L

uint64

Numero naturale senza segno a 64 bit

UL

86UL

single, float32

Numero a virgola mobile a 32 bit

F o f

4.14F o 4.14f

lf

0x00000000lf

float; double

Numero a virgola mobile a 64 bit

nessuno

4.14 o 2.3E+32 o 2.3e+32

LF

0x0000000000000000LF

bigint

Integer non limitato alla rappresentazione a 64 bit

I

9999999999999999999999999999I

decimal

Numero frazionario rappresentato come numero a virgola fissa o numero razionale

M o m

0.7833M o 0.7833m

Char

Carattere Unicode

nessuno

'a'

String

Stringa Unicode

nessuno

"text\n"

oppure

@"c:\filename"

oppure

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

oppure

"string1" + "string2"

Vedere anche Stringhe (F#).

byte

Carattere ASCII

B

'a'B

byte[]

Stringa ASCII

B

"text"B

String o byte []

Stringa letterale

Prefisso @

@"\\server\share" (Unicode)

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

Note

Le stringhe Unicode possono contenere codifiche esplicite che è possibile specificare utilizzando \u seguito da un codice esadecimale a 16 bit o codifiche UTF-32 che è possibile specificare utilizzando \U seguito da un codice esadecimale a 32 bit che rappresenta una coppia di surrogati Unicode.

A partire da F# 3.1, è possibile utilizzare il segno + per combinare i valori letterali stringa. È inoltre possibile utilizzare l'operatore bit per bit o (|||) per combinare i flag dell'enumerazione. Ad esempio, il codice riportato di seguito è valido in 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

L'utilizzo di altri operatori bit per bit non è consentito.

Letterali denominati

I valori che devono essere costanti possono essere contrassegnati con l'attributo Literal. Questo attributo determina la compilazione di un valore come costante.

In un'espressione di corrispondenza dei modelli, gli identificatori che iniziano con i caratteri minuscoli vengono sempre trattati come variabili da associare, anziché come valori letterali, pertanto è necessario utilizzare in genere lettere maiuscole iniziali quando si assegnano valori letterali.

Vedere anche

Riferimenti

Valori letterali (F#)

Classe Core.LiteralAttribute (F#)