ReadOnlySpan<T> Estrutura

Definição

Fornece uma representação fortemente tipada e de memória segura de uma região contígua da memória arbitrária.

generic <typename T>
public value class ReadOnlySpan
public readonly ref struct ReadOnlySpan<T>
[System.Runtime.InteropServices.Marshalling.NativeMarshalling(typeof(System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller<,>))]
public readonly ref struct ReadOnlySpan<T>
type ReadOnlySpan<'T> = struct
[<System.Runtime.InteropServices.Marshalling.NativeMarshalling(typeof(System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller<,>))>]
type ReadOnlySpan<'T> = struct
Public Structure ReadOnlySpan(Of T)

Parâmetros de tipo

T

O tipo de itens no ReadOnlySpan<T>.

Herança
ReadOnlySpan<T>
Atributos

Comentários

ReadOnlySpan<T> é um struct ref alocado na pilha e nunca pode escapar para o heap gerenciado. Os tipos de struct ref têm várias restrições para garantir que eles não possam ser promovidos para o heap gerenciado, incluindo que eles não podem ser boxizados, capturados em expressões lambda, atribuídos a variáveis do tipo Object, atribuídas a dynamic variáveis e não podem implementar nenhum tipo de interface.

Uma ReadOnlySpan<T> instância geralmente é usada para referenciar os elementos de uma matriz ou uma parte de uma matriz. Ao contrário de uma matriz, no entanto, uma ReadOnlySpan<T> instância pode apontar para memória gerenciada, memória nativa ou memória gerenciada na pilha.

Construtores

ReadOnlySpan<T>(T)

Cria um novo ReadOnlySpan<T> de comprimento 1 em torno da referência especificada.

ReadOnlySpan<T>(T[])

Cria um novo ReadOnlySpan<T> sobre a totalidade de uma matriz especificada.

ReadOnlySpan<T>(T[], Int32, Int32)

Cria um novo ReadOnlySpan<T> que inclui um número especificado de elementos de uma matriz, começando em um índice especificado.

ReadOnlySpan<T>(Void*, Int32)

Cria um ReadOnlySpan<T> com base em um número especificado de elementos T, começando em um endereço de memória especificado.

Propriedades

Empty

Retorna um ReadOnlySpan<T> vazio.

IsEmpty

Retorna um valor que indica o intervalo atual somente leitura está vazio.

Item[Int32]

Obtém um item do intervalo somente leitura no índice baseado em zero especificado.

Length

O número de itens no intervalo somente leitura.

Métodos

CastUp<TDerived>(ReadOnlySpan<TDerived>)

Fornece uma representação fortemente tipada e de memória segura de uma região contígua da memória arbitrária.

CopyTo(Span<T>)

Copia o conteúdo deste ReadOnlySpan<T> para um Span<T> de destino.

Equals(Object)
Obsoleto.
Obsoleto.

Não há suporte. Gera uma NotSupportedException.

GetEnumerator()

Retorna um enumerador para este ReadOnlySpan<T>.

GetHashCode()
Obsoleto.

Não há suporte. Gera uma NotSupportedException.

GetPinnableReference()

Retorna uma referência somente leitura a um objeto do tipo T que pode ser usado para fixação.

Esse método destina-se a dar suporte a compiladores .NET e não se destina a ser chamado pelo código do usuário.

Slice(Int32)

Forma uma fatia com base no intervalo somente leitura atual que começa em um índice especificado.

Slice(Int32, Int32)

Forma uma fatia com base no intervalo somente leitura atual que começa em um índice especificado para um tamanho especificado.

ToArray()

Copia o conteúdo desse intervalo somente leitura para uma nova matriz.

ToString()

Retorna a representação de cadeia de caracteres deste ReadOnlySpan<T>.

TryCopyTo(Span<T>)

Tenta copiar o conteúdo deste ReadOnlySpan<T> em um Span<T> e retorna um valor para indicar se a operação foi bem-sucedida.

Operadores

Equality(ReadOnlySpan<T>, ReadOnlySpan<T>)

Retorna um valor que indica se duas instâncias ReadOnlySpan<T> são iguais.

Implicit(ArraySegment<T> to ReadOnlySpan<T>)

Define uma conversão implícita de um ArraySegment<T> em um ReadOnlySpan<T>.

Implicit(T[] to ReadOnlySpan<T>)

Define uma conversão implícita de uma matriz em um ReadOnlySpan<T>.

Inequality(ReadOnlySpan<T>, ReadOnlySpan<T>)

Retorna um valor que indica se duas instâncias ReadOnlySpan<T> não são iguais.

Métodos de Extensão

ToImmutableArray<T>(ReadOnlySpan<T>)

Produza uma matriz imutável de conteúdo de elementos especificados.

BinarySearch<T>(ReadOnlySpan<T>, IComparable<T>)

Pesquisa um ReadOnlySpan<T> inteiro classificado por um valor usando a interface genérica IComparable<T> especificada.

BinarySearch<T,TComparer>(ReadOnlySpan<T>, T, TComparer)

Pesquisa um ReadOnlySpan<T> inteiro classificado por um valor especificado usando o tipo genérico TComparer especificado.

BinarySearch<T,TComparable>(ReadOnlySpan<T>, TComparable)

Pesquisa um ReadOnlySpan<T> inteiro classificado por um valor usando o tipo genérico TComparable especificado.

CommonPrefixLength<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Localiza o comprimento de qualquer prefixo comum compartilhado entre span e other.

CommonPrefixLength<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IEqualityComparer<T>)

Determina o comprimento de qualquer prefixo comum compartilhado entre span e other.

Contains<T>(ReadOnlySpan<T>, T)

Indica se um valor especificado é encontrado em um intervalo somente leitura. Os valores são comparados usando IEquatable{T}.Equals(T).

ContainsAny<T>(ReadOnlySpan<T>, T, T)

Pesquisa uma ocorrência de value0 ou value1e retorna true se encontrado. Se não for encontrado, retornará false.

ContainsAny<T>(ReadOnlySpan<T>, T, T, T)

Pesquisa uma ocorrência de value0, value1ou value2e retorna true se encontrado. Se não for encontrado, retornará false.

ContainsAny<T>(ReadOnlySpan<T>, SearchValues<T>)

Pesquisa uma ocorrência de qualquer um dos especificados values e retorna true se encontrado. Se não for encontrado, retornará false.

ContainsAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Pesquisa uma ocorrência de qualquer um dos especificados values e retorna true se encontrado. Se não for encontrado, retornará false.

ContainsAnyExcept<T>(ReadOnlySpan<T>, T)

Pesquisa qualquer valor diferente do especificado value.

ContainsAnyExcept<T>(ReadOnlySpan<T>, T, T)

Pesquisa qualquer valor diferente de value0 ou value1.

ContainsAnyExcept<T>(ReadOnlySpan<T>, T, T, T)

Pesquisa qualquer valor diferente de value0, value1ou value2.

ContainsAnyExcept<T>(ReadOnlySpan<T>, SearchValues<T>)

Pesquisa qualquer valor diferente do especificado values.

ContainsAnyExcept<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Pesquisa qualquer valor diferente do especificado values.

ContainsAnyExceptInRange<T>(ReadOnlySpan<T>, T, T)

Pesquisa qualquer valor fora do intervalo entre lowInclusive e highInclusive, inclusive.

ContainsAnyInRange<T>(ReadOnlySpan<T>, T, T)

Pesquisa qualquer valor no intervalo entre lowInclusive e highInclusive, inclusive, e retorna true se encontrado. Se não for encontrado, retornará false.

Count<T>(ReadOnlySpan<T>, T)

Conta o número de vezes que o especificado value ocorre no span.

Count<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Conta o número de vezes value que ocorre em span.

EndsWith<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Determina se a sequência especificada aparece no final de um intervalo somente leitura.

IndexOf<T>(ReadOnlySpan<T>, T)

Pesquisa o valor especificado e retorna o índice de sua primeira ocorrência. Os valores são comparados usando IEquatable{T}.Equals(T).

IndexOf<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Pesquisa a sequência especificada e retorna o índice de sua primeira ocorrência. Os valores são comparados usando IEquatable{T}.Equals(T).

IndexOfAny<T>(ReadOnlySpan<T>, T, T)

Pesquisa o primeiro índice de qualquer um dos valores especificados, semelhante à chamada de IndexOf várias vezes com o operador OR lógico.

IndexOfAny<T>(ReadOnlySpan<T>, T, T, T)

Pesquisa o primeiro índice de qualquer um dos valores especificados, semelhante à chamada de IndexOf várias vezes com o operador OR lógico.

IndexOfAny<T>(ReadOnlySpan<T>, SearchValues<T>)

Pesquisa o primeiro índice de qualquer um dos valores especificados.

IndexOfAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Pesquisa o primeiro índice de qualquer um dos valores especificados, semelhante à chamada de IndexOf várias vezes com o operador OR lógico.

IndexOfAnyExcept<T>(ReadOnlySpan<T>, T)

Pesquisa o primeiro índice de qualquer valor diferente do especificado value.

IndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T)

Pesquisa o primeiro índice de qualquer valor diferente do especificado value0 ou value1.

IndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T, T)

Pesquisa o primeiro índice de qualquer valor diferente do especificado value0, value1ou value2.

IndexOfAnyExcept<T>(ReadOnlySpan<T>, SearchValues<T>)

Pesquisa o primeiro índice de qualquer valor diferente do especificado values.

IndexOfAnyExcept<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Pesquisa o primeiro índice de qualquer valor diferente do especificado values.

IndexOfAnyExceptInRange<T>(ReadOnlySpan<T>, T, T)

Pesquisa o primeiro índice de qualquer valor fora do intervalo entre lowInclusive e highInclusive, inclusive.

IndexOfAnyInRange<T>(ReadOnlySpan<T>, T, T)

Pesquisa o primeiro índice de qualquer valor no intervalo entre lowInclusive e highInclusive, inclusive.

LastIndexOf<T>(ReadOnlySpan<T>, T)

Pesquisa o valor especificado e retorna o índice de sua última ocorrência. Os valores são comparados usando IEquatable{T}.Equals(T).

LastIndexOf<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Pesquisa a sequência especificada e retorna o índice de sua última ocorrência. Os valores são comparados usando IEquatable{T}.Equals(T).

LastIndexOfAny<T>(ReadOnlySpan<T>, T, T)

Pesquisa o último índice de qualquer um dos valores especificados, semelhante à chamada de LastIndexOf várias vezes com o operador OR lógico.

LastIndexOfAny<T>(ReadOnlySpan<T>, T, T, T)

Pesquisa o último índice de qualquer um dos valores especificados, semelhante à chamada de LastIndexOf várias vezes com o operador OR lógico.

LastIndexOfAny<T>(ReadOnlySpan<T>, SearchValues<T>)

Pesquisa o último índice de qualquer um dos valores especificados.

LastIndexOfAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Pesquisa o último índice de qualquer um dos valores especificados, semelhante à chamada de LastIndexOf várias vezes com o operador OR lógico.

LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, T)

Pesquisa o último índice de qualquer valor diferente do especificado value.

LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T)

Pesquisa o último índice de qualquer valor diferente do especificado value0 ou value1.

LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T, T)

Pesquisa o último índice de qualquer valor diferente do especificado value0, value1ou value2.

LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, SearchValues<T>)

Pesquisa o último índice de qualquer valor diferente do especificado values.

LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Pesquisa o último índice de qualquer valor diferente do especificado values.

LastIndexOfAnyExceptInRange<T>(ReadOnlySpan<T>, T, T)

Pesquisa o último índice de qualquer valor fora do intervalo entre lowInclusive e highInclusive, inclusive.

LastIndexOfAnyInRange<T>(ReadOnlySpan<T>, T, T)

Pesquisa o último índice de qualquer valor no intervalo entre lowInclusive e highInclusive, inclusive.

Overlaps<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Determina se duas sequências somente leitura se sobrepõem na memória.

Overlaps<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, Int32)

Determina se duas sequências somente leitura se sobrepõem na memória e gera o deslocamento do elemento.

Replace<T>(ReadOnlySpan<T>, Span<T>, T, T)

source Copia para destination, substituindo todas as ocorrências de oldValue por newValue.

SequenceCompareTo<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Determina a ordem relativa de duas sequências somente leitura comparando seus elementos com o uso de IComparable{T}.CompareTo(T).

SequenceEqual<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Determina se duas sequências somente leitura são iguais comparando os elementos com o uso de IEquatable{T}.Equals(T).

SequenceEqual<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IEqualityComparer<T>)

Determina se duas sequências são iguais comparando os elementos usando um IEqualityComparer<T>.

StartsWith<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Determina se uma sequência especificada aparece no início de um intervalo somente leitura.

Trim<T>(ReadOnlySpan<T>, T)

Remove todas as ocorrências à esquerda e à direita de um elemento especificado de um intervalo somente leitura.

Trim<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Remove todas as ocorrências à esquerda e à direita de um conjunto de elementos especificado em um intervalo somente leitura de um intervalo somente leitura.

TrimEnd<T>(ReadOnlySpan<T>, T)

Remove todas as ocorrências à direita de um elemento especificado de um intervalo somente leitura.

TrimEnd<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Remove todas as ocorrências à direita de um conjunto de elementos especificado em um intervalo somente leitura de um intervalo somente leitura.

TrimStart<T>(ReadOnlySpan<T>, T)

Remove todas as ocorrências à esquerda de um elemento especificado do intervalo.

TrimStart<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Remove todas as ocorrências à esquerda de um conjunto de elementos especificado em um intervalo somente leitura do intervalo.

Aplica-se a

Confira também