Seq.readonly<'T> (Función de F#)
Crea un nuevo objeto de secuencia que delega en el objeto de secuencia especificado.De este modo, se garantiza que la secuencia original no pueda volver a detectarse ni sufrir una mutación mediante una conversión de tipo.Por ejemplo, si se especifica una matriz, la secuencia devuelta devolverá los elementos de la matriz pero no se podrá convertir el objeto de secuencia devuelto en una matriz.
Espacio de nombres/Ruta de acceso del módulo: Microsoft.FSharp.Collections.Seq
Ensamblado: FSharp.Core (en FSharp.Core.dll)
// Signature:
Seq.readonly : seq<'T> -> seq<'T>
// Usage:
Seq.readonly source
Parámetros
source
Tipo: seq<'T>Secuencia de entrada.
Excepciones
Excepción |
Condition |
---|---|
Se produce cuando la secuencia de entrada es NULL. |
Valor devuelto
Secuencia resultante.
Comentarios
Esta función se denomina ReadOnly en los ensamblados compilados.Si obtiene acceso a la función desde un lenguaje distinto de F# o mediante reflexión, use este nombre.
Ejemplo
El código siguiente usa Seq.readonly para crear una vista inmutable de una matriz 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
Plataformas
Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2
Información de versiones
Versiones de la biblioteca básica de F#
Se admite en: 2.0, 4.0, portables