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>
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>

Comentários

ReadOnlySpan<T> é um struct ref que é 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 não possam ser promovidos ao heap gerenciado, incluindo que não podem ser boxizados, capturados em expressões lambda, atribuídos a variáveis de tipo Object, atribuídas a dynamic variáveis e que 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> 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

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.

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).

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>, 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.

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>, 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.

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.

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