ReadOnlySpan<T> Estrutura

Definição

Fornece uma representação somente leitura com segurança de tipo e memória de uma região contígua de 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 de ref têm uma série de restrições para garantir que eles não possam ser promovidos ao heap gerenciado, incluindo que eles não podem ser boxizados, capturados em expressões lambda, atribuídos a variáveis de tipo Object, atribuídos 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

Nome Description
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>(T[])

Cria um novo ReadOnlySpan<T> em toda a matriz especificada.

ReadOnlySpan<T>(Void*, Int32)

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

Propriedades

Nome Description
Empty

Retorna um vazio ReadOnlySpan<T>.

IsEmpty

Retorna um valor que indica que o intervalo somente leitura atual 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

Nome Description
CopyTo(Span<T>)

Copia o conteúdo disso ReadOnlySpan<T> em um destino Span<T>.

Equals(Object)
Obsoleto.

Sem suporte. Lança NotSupportedException.

GetEnumerator()

Retorna um enumerador para isso ReadOnlySpan<T>.

GetHashCode()
Obsoleto.

Sem suporte. Lança 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, Int32)

Forma uma fatia do intervalo somente leitura atual começando em um índice especificado para um comprimento especificado.

Slice(Int32)

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

ToArray()

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

ToString()

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

TryCopyTo(Span<T>)

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

Operadores

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

Retorna um valor que indica se duas ReadOnlySpan<T> instâncias 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 ReadOnlySpan<T> instâncias não são iguais.

Métodos de Extensão

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

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

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

Pesquisa uma classificação ReadOnlySpan<T> inteira para um valor especificado usando o tipo genérico especificado TComparer .

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

Pesquisa um valor inteiro classificado ReadOnlySpan<T> usando a interface genérica especificada IComparable<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>, ReadOnlySpan<T>)

Pesquisa a sequência especificada e retorna o índice de sua primeira ocorrência.

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

Pesquisa o valor especificado e retorna o índice de sua primeira ocorrência.

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

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

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

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

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

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

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

Pesquisa a sequência especificada e retorna o índice de sua última ocorrência.

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

Pesquisa o valor especificado e retorna o índice de sua última ocorrência.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Aplica-se a

Confira também