Partilhar via


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>
[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 de 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 do tipo Object, atribuídos a variáveis dynamic e que não podem implementar nenhum tipo de interface.

Uma instância de ReadOnlySpan<T> geralmente é usada para referenciar os elementos de uma matriz ou uma parte de uma matriz. No entanto, ao contrário de uma matriz, uma instância de ReadOnlySpan<T> 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> em toda a 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 novo ReadOnlySpan<T> de 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 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

CastUp<TDerived>(ReadOnlySpan<TDerived>)

Converte um intervalo somente leitura de TDerived em um intervalo somente leitura de T.

CopyTo(Span<T>)

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

Equals(Object)
Obsoleto.
Obsoleto.

Não há suporte. Lança um NotSupportedException.

GetEnumerator()

Retorna um enumerador para este ReadOnlySpan<T>.

GetHashCode()
Obsoleto.

Não há suporte. Lança um 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 do intervalo somente leitura atual que começa em um índice especificado.

Slice(Int32, Int32)

Forma uma fatia do intervalo somente leitura atual começando em um índice especificado para um comprimento 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 desse ReadOnlySpan<T> em um Span<T> e retorna um valor para indicar se a operação foi bem-sucedida ou não.

Operadores

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

Retorna um valor que indica se duas instâncias de 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 de 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> classificado inteiro para obter um valor usando a interface genérica IComparable<T> especificada.

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

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

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

Pesquisa um ReadOnlySpan<T> classificado inteiro para obter 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 value1.

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

Pesquisa uma ocorrência de value0, value1ou value2.

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

Pesquisa uma ocorrência de qualquer um dos valuesespecificados.

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

Pesquisa uma ocorrência de qualquer um dos valuesespecificados.

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

Pesquisa qualquer valor diferente do valueespecificado.

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

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

Pesquisa qualquer valor diferente do valuesespecificado.

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.

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

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

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

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

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

Determina se o valor especificado aparece no final do intervalo.

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

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

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

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

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

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

Pesquisa o primeiro índice de qualquer valor diferente do valuesespecificado.

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

Pesquisa o primeiro índice de qualquer valor diferente do valuesespecificado.

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 a chamar 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 a chamar 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 a chamar LastIndexOf várias vezes com o operador OR lógico.

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

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

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

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

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

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

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

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

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

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

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 geram o deslocamento do elemento.

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

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

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

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

Split<T>(ReadOnlySpan<T>, T)

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.

Split<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

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.

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

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.

SplitAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

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.

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

Determina se o valor especificado aparece no início do intervalo.

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 principais de um elemento especificado do intervalo.

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

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

Aplica-se a

Confira também