Sdílet prostřednictvím


Seq.readonly<'T> – funkce (F#)

Vytvoří nový objekt sekvence deleguje objekt dané sekvence.Zajistíte tak původní posloupnost nelze rediscovered a mutated podle typu cast.Například pokud dané pole vrácené sekvence vrátí prvky pole, ale nelze převést objekt vrácený sekvence na matici.

Cesta k oboru názvů nebo modul: Microsoft.FSharp.Collections.Seq

Sestavení: FSharp.Core (v FSharp.Core.dll)

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

// Usage:
Seq.readonly source

Parametry

  • source
    Typ: SEQ.<'T>

    Vstupní sekvence.

Výjimky

Výjimka

Podmínka

ArgumentNullException

Vyvolána při vstupní posloupnost je null.

Vrácená hodnota

Řada výsledků.

Poznámky

Tato funkce se nazývá ReadOnly v kompilovaný sestavení.Pokud přistupujete k funkci jazyka než F# nebo prostřednictvím reflexe, tento název použijte.

Příklad

Následující kód používá Seq.readonly nezměnitelné zobrazení proměnlivých pole.

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

Platformy

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

Informace o verzi

F# základní verze knihovny

Podporovány: 2.0, 4.0, přenosné

Viz také

Referenční dokumentace

Collections.Seq – modul (F#)

Microsoft.FSharp.Collections – obor názvů (F#)