Compartilhar via


SEQ.ReadOnly <'T>. Função (F#)

Cria um novo objeto de seqüência que representantes a seqüência determinada objeto.Isso garante que a seqüência original não pode ser redescoberta e transformado por uma conversão de tipos.Por exemplo, se fornecida uma matriz a seqüência retornado retornará os elementos da matriz, mas você não pode converter o objeto retornado da seqüência a uma matriz.

Namespace/Module Path: Microsoft.FSharp.Collections.Seq

Assembly: FSharp.Core (em FSharp.Core.dll)

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

// Usage:
Seq.readonly source

Parâmetros

  • source
    Tipo: seq<'T>

    a seqüência de entrada.

Exceções

Exceção

Condição

ArgumentNullException

Acionada quando a seqüência de entrada seja nulo.

Valor de retorno

A seqüência de resultado.

Comentários

Essa função é chamada ReadOnly em assemblies compilados.Se você está acessando a função de um idioma diferente F#, ou com a reflexão, use este nome.

Exemplo

O código a seguir usa Seq.readonly para criar uma exibição imutável de uma matriz mutável.

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

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

Informações de Versão

Versões da biblioteca principal de F#

Suportado em: 2,0, 4,0, portáteis

Consulte também

Referência

Módulo de Collections.SEQ (F#)

Microsoft.FSharp.Collections Namespace (F#)