Aracılığıyla paylaş


Seq.readonly<'T> İşlevi (F#)

Temsilci verilen sıra nesnesi için yeni bir sıra nesnesi oluşturur. Bu, özgün dizinin tekrar keşfedilmemesini ve tür değişimi ile değiştirilmemesini garantiler. Örneğin, bir dizi verilmişse, döndürülen sıra, dizi öğelerini döndürecektir ancak döndürülen sıra nesnesini bir diziye döndüremezsiniz.

Ad alanı/modül yolu: Microsoft.FSharp.Collections.Seq

Derleme: FSharp.Core (FSharp.Core.dll),

// Signature:
Seq.readonly : seq<'T> -> seq<'T>

// Usage:
Seq.readonly source

Parametreler

  • source
    Türü: seq<'T>

    Giriş dizisi.

Özel Durumlar

Özel Durum

Koşul

ArgumentNullException

Giriş dizisi null olduğunda oluşturulur.

Dönüş Değeri

Sonuç dizisi.

Notlar

Bu işlev adlı ReadOnly kodları derlenmiş derlemeleri. İşlev yansıtma veya F# dışındaki bir dilde erişiyorsanız, bu adı kullanın.

Örnek

Aşağıdaki kod Seq.readonly kesilebilir bir dizi sabit bir görünümünü oluşturmak için.

type ArrayContainer(start, finish) =
    let internalArray = [| start .. finish |]
    member this.RangeSeq = Seq.readonly internalArray
    member this.RangeArray = internalArray

let newArray = new ArrayContainer(1, 10)
let rangeSeq = newArray.RangeSeq
let rangeArray = newArray.RangeArray
// These lines produce an error: 
//let myArray = rangeSeq :> int array
//myArray.[0] <- 0
// The following line does not produce an error. 
// It does not preserve encapsulation.
rangeArray.[0] <- 0

Platformlar

Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2

Sürüm Bilgisi

F# Çekirdek Kitaplığı sürümleri

Desteklenen: 2.0, 4.0, Portable

Ayrıca bkz.

Başvuru

Collections.Seq Modülü (F#)

Microsoft.FSharp.Collections İsim Uzayı (F#)