Aracılığıyla paylaş


Dizeleri (F#)

string Bir dizi Unicode karakter sabit metin türünü gösterir. stringiçin bir diğer ad olduğundan String de.net Framework.

Notlar

Dizelerini tırnak işareti ('') karakteriyle ayrılır. Ters eğik çizgi (\), bazı özel karakterleri kodlamak için kullanılır. Ters eğik çizgi ve birlikte bir sonraki karakteri olarak bilinen bir kaçış dizisi. Çıkış sıraları aşağıdaki tabloda gösterilen harfleri F# dizesini desteklenen.

Karakter

Çıkış dizi

Geri Al

\b

Yeni satır

\n

Satır başı

\r

Sekme

\t

Ters eğik çizgi

\\

Tırnak işareti

\"

Kesme işareti

\'

Unicode karakter

\uxxxx veya \uxxxxxxxx (burada x onaltılık basamak gösterir)

Önünde, @ sembololduğu yerlerde harfi harfine bir dizedir. İki tırnak işareti karakterleri tek tırnak işareti karakteri olarak yorumlanır dışında herhangi bir çıkış sıralarını yoksayıldığını gösterir.

Ayrıca, bir dize Üçlü tırnak içine. Bu durumda, çift tırnak işareti karakterleri dahil olmak üzere tüm çıkış sıralarını yoksayılır. Katıştırılmış bir tırnaklı dizenin içeren bir dizeyi belirtmek için ya da bir harfi harfine veya Üçlü tırnak içinde dize kullanabilirsiniz. Harfi harfine bir dizeyi kullanmak, tek tırnak işareti karakteri göstermek için iki tırnak işareti karakterleri belirtmeniz gerekir. Üçlü tırnak içinde dize kullanırsanız, bunları dize sonu Ayrıştırılan olmadan tek tırnak işareti karakterleri kullanabilirsiniz. Bu teknik, XML veya katıştırılmış tırnak işaretleri dahil diğer yapıları ile çalışırken yararlı olabilir.

// Using a verbatim string
let xmlFragment1 = @"<book author=""Milton, John"" title=""Paradise Lost"">"

// Using a triple-quoted string
let xmlFragment2 = """<book author="Milton, John" title="Paradise Lost">"""

Kod, çizgi sonları içeren dizeler kabul edilir ve çizgi sonları çizgi sonundan önce son karakteri ters eğik çizgi karakteri olmadığı sürece gerçek anlamda oluşamayacağı yorumlanır. Ters eğik çizgi karakteri kullanıldığında, sonraki çizgi Öndeki boşluklar yoksayılır. Aşağıdaki kod bir dize oluşturur str1 değeri olan "abc\n def" ve bir dize str2 değeri olan "abcdef".

let str1 = "abc
     def"
let str2 = "abc\
     def"

Tek tek karakter dizesindeki gibi bir dizi benzeri sözdizimini kullanarak erişebilirsiniz.

printfn "%c" str1.[1]

Çıkış b.

Veya, alt dizeleri dizisi dilim sözdizimini kullanarak aşağıdaki kodda gösterildiği gibi ayıklayabilirsiniz.

printfn "%s" (str1.[0..2])
printfn "%s" (str2.[3..5])

Çıktı aşağıdaki gibidir.

abc
def

ASCII dizeleri işaretsiz baytlar, tür diziler tarafından temsil byte[]. Sonek ekleme B için bir ASCII dizesi olduğunu belirtmek için bir dize. ASCII dize hazır bilgileri bayt dizileri ile kullanılan aynı çıkış sıralarını Unicode kaçış sıraları haricinde Unicode dizeleri destekler.

// "abc" interpreted as a Unicode string.
let str1 : string = "abc"
// "abc" interpreted as an ASCII byte array. 
let bytearray : byte[] = "abc"B 

Dize işleçleri

Dizeleri bitiştirmek için iki yol vardır: kullanarak + işleç veya kullanarak ^ işleç. + işleç ile uyumluluğu korur.net Framework dize işleme özellikleri.

Dize bitiştirme aşağıdaki örnekte gösterilmektedir.

let string1 = "Hello, " + "world"

String sınıfı

F#'ta string türü gerçekte olduğundan bir.net Framework String yazın, tüm String üyeleri kullanılabilir. Bu +dizeleri bitiştirmek için kullanılan işleç, Length özellikve Charsdize olarak Unicode karakter dizisi döndürür özellik,. Dizeleri hakkında daha fazla bilgi için bkz: String.

Kullanarak Chars özellik String, aşağıdaki kodda gösterildiği gibi dizin belirterek, bir dizedeki karakterleri tek tek erişebilirsiniz.

let printChar (str : string) (index : int) =
    printfn "First character: %c" (str.Chars(index))

Dize Modülü

Ek işlevsellik için dize işleme içerisindeki String modül FSharp.Core isim uzayı. Daha fazla bilgi için bkz. Core.String Modülü (F#).

Ayrıca bkz.

Başvuru

String

Diğer Kaynaklar

F# dil başvurusu