Değişmez Değerler

Bu makalede, F# içinde bir değişmezin türünü belirtmeyi gösteren bir tablo yer alır.

Değişmez türler

Aşağıdaki tabloda F# içinde değişmez türler yer alır. Onaltılık temsilde basamakları temsil eden karakterler büyük/büyük/büyük harfe duyarlı değildir; türü tanımlamak için karakterler büyük/büyük/büyük harfe duyarlıdır.

Tür Description Sonek veya ön ek Örnekler
sbyte imzalı 8 bit tamsayı y 86y

0b00000101y
byte imzasız 8 bit doğal sayı Uslu 86uy

0b00000101uy
int16 imzalı 16 bit tamsayı s 86s
uint16 imzasız 16 bit doğal sayı Bizi 86us
int

int32
imzalı 32 bit tamsayı l veya none 86

86l
uint

uint32
imzasız 32 bit doğal sayı u veya ul 86u

86ul
Nativeint imzalı doğal numaranın yerel işaretçisi n 123n
Unativeint işaretsiz doğal sayı olarak yerel işaretçi Bm 0x00002D3Fun
int64 imzalı 64 bit tamsayı L 86L
uint64 imzasız 64 bit doğal sayı UL 86UL
single, float32 32 bit kayan nokta numarası F veya f 4.14F veya 4.14f
Eğer 0x00000000lf
float; Çift 64 bit kayan nokta numarası yok 4.14veya 2.3E+32``2.3e+32
EĞER 0x0000000000000000LF
bigint tamsayı 64 bit gösterimle sınırlı değil I 9999999999999999999999999999I
decimal sabit bir nokta veya rasyonal sayı olarak temsil edilen kesirli sayı M veya m 0.7833M veya 0.7833m
Char Unicode karakter yok 'a' veya '\u0061'
Dize Unicode dizesi yok "text\n"

veya

@"c:\filename"

veya

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

veya

"string1" + "string2"

Ayrıca bkz. Dizeler.
byte ASCII karakteri B 'a'B
byte[] ASCII dizesi B "text"B
Dize veya byte[] verbatim dizesi @ ön eki @"\\server\share" (Unicode)

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

Adlandırılmış değişmezler

Sabit olması amaçlanan değerler Literal özniteliğiyle işaretlenir. Bu özniteliğin, bir değerin sabit olarak derleneminin neden olduğu etkisi vardır.

Desen eşleştirme ifadelerinde, küçük harf karakterlerle başlayan tanımlayıcılar her zaman sabit değerler yerine bağlanarak değişken olarak kabul edilir. Bu nedenle, değişmez değerleri tanımlarken genellikle ilk büyük harfleri kullanmalıdır.

[<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

Açıklamalar

Unicode dizeleri, 16 bit onaltılık kod (0000 - FFFF) veya herhangi bir Unicode kod noktasını \u (0000000 - \U 0010FFFF) temsil eden bir 32 bit onaltılık kod kullanarak belirtebilirsiniz.

dışında diğer bitwise işleçlerinin ||| kullanımına izin verilmez.

Diğer tabanlarda tamsayılar

İmzalı 32 bit tamsayılar sırasıyla , veya ön eki kullanılarak onaltılık, sekizli veya ikili 0x 0o olarak da 0b belirtilebilir.

let numbers = (0x9F, 0o77, 0b1010)
// Result: numbers : int * int * int = (159, 63, 10)

Sayısal değişmez değerlerde alt çizgi

Alt çizgi karakteriyle ( ) basamakları _ ayırebilirsiniz.

let value = 0xDEAD_BEEF

let valueAsBits = 0b1101_1110_1010_1101_1011_1110_1110_1111

let exampleSSN = 123_456_7890