Span<T> Estrutura

Definição

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

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

Parâmetros de tipo

T

O tipo de itens no Span<T>.

Herança
Span<T>
Atributos

Comentários

Para obter mais informações sobre essa API, consulte Comentários da API complementar para Span<T>.

Construtores

Span<T>(T)

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

Span<T>(T[])

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

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

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

Span<T>(Void*, Int32)

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

Propriedades

Empty

Retorna um objeto Span<T> vazio.

IsEmpty

Retorna um valor que indica se o Span<T> atual está vazio.

Item[Int32]

Obtém o elemento no índice baseado em zero especificado.

Length

Retorna o tamanho do intervalo atual.

Métodos

Clear()

Limpa o conteúdo deste objeto Span<T>.

CopyTo(Span<T>)

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

Equals(Object)
Obsoleto.
Obsoleto.

Não há suporte para chamadas a esse método.

Fill(T)

Preenche os elementos desse intervalo com um valor especificado.

GetEnumerator()

Retorna um enumerador para este Span<T>.

GetHashCode()
Obsoleto.

Gera uma NotSupportedException.

GetPinnableReference()

Retorna uma referência 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 atual que começa em um índice especificado.

Slice(Int32, Int32)

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

ToArray()

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

ToString()

Retorna a representação de cadeia de caracteres desse objeto Span<T>.

TryCopyTo(Span<T>)

Tenta copiar o Span<T> atual para um Span<T> de destino e retorna um valor que indica se a operação de cópia foi bem-sucedida.

Operadores

Equality(Span<T>, Span<T>)

Retorna um valor que indica se dois objetos Span<T> são iguais.

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

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

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

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

Implicit(T[] to Span<T>)

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

Inequality(Span<T>, Span<T>)

Retorna um valor que indica se dois objetos Span<T> não são iguais.

Métodos de Extensão

ToImmutableArray<T>(Span<T>)

Converte o intervalo em uma matriz imutável.

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

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

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

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

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

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

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

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

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

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

Contains<T>(Span<T>, T)

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

ContainsAny<T>(Span<T>, T, T)

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

ContainsAny<T>(Span<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>(Span<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>(Span<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>(Span<T>, T)

Pesquisa qualquer valor diferente do especificado value.

ContainsAnyExcept<T>(Span<T>, T, T)

Pesquisa qualquer valor diferente de value0 ou value1.

ContainsAnyExcept<T>(Span<T>, T, T, T)

Pesquisa qualquer valor diferente de value0, value1ou value2.

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

Pesquisa qualquer valor diferente do especificado values.

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

Pesquisa qualquer valor diferente do especificado values.

ContainsAnyExceptInRange<T>(Span<T>, T, T)

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

ContainsAnyInRange<T>(Span<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>(Span<T>, T)

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

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

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

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

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

IndexOf<T>(Span<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>(Span<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>(Span<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>(Span<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>(Span<T>, SearchValues<T>)

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

IndexOfAny<T>(Span<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>(Span<T>, T)

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

IndexOfAnyExcept<T>(Span<T>, T, T)

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

IndexOfAnyExcept<T>(Span<T>, T, T, T)

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

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

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

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

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

IndexOfAnyExceptInRange<T>(Span<T>, T, T)

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

IndexOfAnyInRange<T>(Span<T>, T, T)

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

LastIndexOf<T>(Span<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>(Span<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>(Span<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>(Span<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>(Span<T>, SearchValues<T>)

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

LastIndexOfAny<T>(Span<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>(Span<T>, T)

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

LastIndexOfAnyExcept<T>(Span<T>, T, T)

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

LastIndexOfAnyExcept<T>(Span<T>, T, T, T)

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

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

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

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

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

LastIndexOfAnyExceptInRange<T>(Span<T>, T, T)

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

LastIndexOfAnyInRange<T>(Span<T>, T, T)

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

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

Determina se um intervalo e um intervalo somente leitura se sobrepõem na memória.

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

Determina se um intervalo e um intervalo somente leitura se sobrepõem na memória e gera o deslocamento do elemento.

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

Substitui todas as ocorrências de oldValue por newValue.

Reverse<T>(Span<T>)

Reverte a sequência dos elementos em todo o intervalo.

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

Determina a ordem relativa de um intervalo e um intervalo somente leitura comparando os elementos com o uso de IComparable{T}.CompareTo(T).

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

Determina se um intervalo e um intervalo somente leitura são iguais comparando os elementos com o uso de IEquatable{T}.Equals(T).

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

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

Sort<T>(Span<T>)

Classifica os elementos em todo Span<T> o usando a IComparable<T> implementação de cada elemento do Span<T>.

Sort<T>(Span<T>, Comparison<T>)

Classifica os elementos em todo o Span<T> usando o Comparison<T> especificado.

Sort<T,TComparer>(Span<T>, TComparer)

Classifica os elementos em todo o Span<T> usando o TComparer.

Sort<TKey,TValue>(Span<TKey>, Span<TValue>)

Classifica um par de intervalos (um contendo as chaves e o outro contendo os itens correspondentes) com base nas chaves do primeiro Span<T> usando a implementação IComparable<T> de cada chave.

Sort<TKey,TValue>(Span<TKey>, Span<TValue>, Comparison<TKey>)

Classifica um par de intervalos (um contendo as chaves e o outro contendo os itens correspondentes) com base nas chaves do primeiro Span<T> usando a comparação especificada.

Sort<TKey,TValue,TComparer>(Span<TKey>, Span<TValue>, TComparer)

Classifica um par de intervalos (um contendo as chaves e o outro contendo os itens correspondentes) com base nas chaves do primeiro Span<T> usando o comparador especificado.

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

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

Trim<T>(Span<T>, T)

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

Trim<T>(Span<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.

TrimEnd<T>(Span<T>, T)

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

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

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

TrimStart<T>(Span<T>, T)

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

TrimStart<T>(Span<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