Udostępnij za pośrednictwem


SEQ.ReadOnly <'T> Funkcja (F#)

Tworzy nowy obiekt sekwencji, który deleguje obiektu danej sekwencji.Temu oryginalne sekwencji nie odkryte i zmutowane przez rzutowanie typu.Na przykład jeśli w danej tablicy zwracane sekwencji zwróci elementów tablicy, ale nie można rzutować obiektu sekwencji zwracane do tablicy.

Ścieżka obszaru nazw/modułu: Microsoft.FSharp.Collections.Seq

Zestaw: FSharp.Core (w FSharp.Core.dll)

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

// Usage:
Seq.readonly source

Parametry

  • source
    Typ: seq<'T>

    Sekwencji wejściowych.

Wyjątki

Wyjątek

Warunek

ArgumentNullException

Zgłoszony podczas sekwencji wejściowych jest null.

Wartość zwracana

Sekwencja wynik.

Uwagi

Ta funkcja o nazwie ReadOnly w skompilowane zestawy.Jeżeli języka, niż F# lub przez odbicie, uzyskują dostęp do funkcji, należy użyć tej nazwy.

Przykład

Następujący kod używa Seq.readonly do tworzenia niezmienne widoku tablicy mutable.

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

Informacje o wersji

F# Core wersji biblioteki

Obsługiwane: 2.0, 4.0, przenośne

Zobacz też

Informacje

Moduł Collections.SEQ (F#)

Obszar nazw Microsoft.FSharp.Collections (F#)