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 | 86y0b00000101y |
| byte | imzasız 8 bit doğal sayı | Uslu | 86uy0b00000101uy |
| 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 | 8686l |
| uint uint32 |
imzasız 32 bit doğal sayı | u veya ul | 86u86ul |
| 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