ReadOnlySpan<T> Estructura

Definición

Proporciona una representación de solo lectura segura para tipos y segura para memoria de una región contigua de memoria arbitraria.

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

Tipo de elementos de la ReadOnlySpan<T>.

Herencia
ReadOnlySpan<T>
Atributos

Comentarios

ReadOnlySpan<T> es una estructura de ref que se asigna en la pila y nunca puede escapar al montón administrado. Los tipos de estructura ref tienen una serie de restricciones para asegurarse de que no se pueden promover al montón administrado, incluidos que no se pueden boxear, capturar en expresiones lambda, asignarse a variables de tipo Object, asignadas a dynamic variables y no pueden implementar ningún tipo de interfaz.

A menudo se usa una instancia de ReadOnlySpan<T> para hacer referencia a los elementos de una matriz o una parte de una matriz. A diferencia de una matriz, sin embargo, una instancia de ReadOnlySpan<T> puede apuntar a memoria administrada, memoria nativa o memoria administrada en la pila.

Constructores

ReadOnlySpan<T>(T)

Crea un nuevo ReadOnlySpan<T> de longitud 1 alrededor de la referencia especificada.

ReadOnlySpan<T>(T[])

Crea un nuevo ReadOnlySpan<T> sobre la totalidad de una matriz especificada.

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

Crea un nuevo ReadOnlySpan<T> que incluye un número especificado de elementos de una matriz a partir de un índice especificado.

ReadOnlySpan<T>(Void*, Int32)

Crea un nuevo ReadOnlySpan<T> a partir de un número especificado de elementos T a partir de una dirección de memoria especificada.

Propiedades

Empty

Devuelve un ReadOnlySpan<T>vacío.

IsEmpty

Devuelve un valor que indica que el intervalo de solo lectura actual está vacío.

Item[Int32]

Obtiene un elemento del intervalo de solo lectura en el índice de base cero especificado.

Length

Número de elementos del intervalo de solo lectura.

Métodos

CastUp<TDerived>(ReadOnlySpan<TDerived>)

Convierte un intervalo de solo lectura de TDerived en un intervalo de solo lectura de T.

CopyTo(Span<T>)

Copia el contenido de este ReadOnlySpan<T> en un Span<T>de destino.

Equals(Object)
Obsoletos.
Obsoletos.

No se admite. Produce un NotSupportedException.

GetEnumerator()

Devuelve un enumerador para este ReadOnlySpan<T>.

GetHashCode()
Obsoletos.

No se admite. Produce un NotSupportedException.

GetPinnableReference()

Devuelve una referencia de solo lectura a un objeto de tipo T que se puede usar para anclar.

Este método está diseñado para admitir compiladores de .NET y no está diseñado para que el código de usuario lo llame.

Slice(Int32)

Forma un segmento del intervalo de solo lectura actual que comienza en un índice especificado.

Slice(Int32, Int32)

Forma un segmento fuera del intervalo de solo lectura actual a partir de un índice especificado para una longitud especificada.

ToArray()

Copia el contenido de este intervalo de solo lectura en una nueva matriz.

ToString()

Devuelve la representación de cadena de este ReadOnlySpan<T>.

TryCopyTo(Span<T>)

Intenta copiar el contenido de este ReadOnlySpan<T> en un Span<T> y devuelve un valor para indicar si la operación se realizó correctamente o no.

Operadores

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

Devuelve un valor que indica si dos instancias de ReadOnlySpan<T> son iguales.

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

Define una conversión implícita de un ArraySegment<T> a un ReadOnlySpan<T>.

Implicit(T[] to ReadOnlySpan<T>)

Define una conversión implícita de una matriz en un ReadOnlySpan<T>.

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

Devuelve un valor que indica si dos instancias de ReadOnlySpan<T> no son iguales.

Métodos de extensión

ToImmutableArray<T>(ReadOnlySpan<T>)

Genera una matriz inmutable de contenido a partir de elementos especificados.

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

Busca un ReadOnlySpan<T> ordenado completo para un valor mediante la interfaz genérica IComparable<T> especificada.

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

Busca en un ReadOnlySpan<T> ordenado completo un valor especificado mediante el tipo genérico especificado TComparer.

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

Busca en un valor un ReadOnlySpan<T> ordenado completo mediante el tipo genérico de TComparable especificado.

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

Busca la longitud de cualquier prefijo común compartido entre span y other.

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

Determina la longitud de cualquier prefijo común compartido entre span y other.

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

Indica si se encuentra un valor especificado en un intervalo de solo lectura. Los valores se comparan con IEquatable{T}. Equals(T).

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

Busca una aparición de value0 o value1.

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

Busca una aparición de value0, value1o value2.

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

Busca una aparición de cualquiera de los valuesespecificados.

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

Busca una aparición de cualquiera de los valuesespecificados.

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

Busca cualquier valor distinto del valueespecificado.

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

Busca cualquier valor distinto de value0 o value1.

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

Busca cualquier valor distinto de value0, value1o value2.

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

Busca cualquier valor distinto del valuesespecificado.

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

Busca cualquier valor distinto del valuesespecificado.

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

Busca cualquier valor fuera del intervalo entre lowInclusive y highInclusive, ambos incluidos.

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

Busca cualquier valor en el intervalo entre lowInclusive y highInclusive, ambos incluidos.

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

Cuenta el número de veces que se produce el value especificado en el span.

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

Cuenta el número de veces que value se produce en span.

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

Determina si el valor especificado aparece al final del intervalo.

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

Determina si la secuencia especificada aparece al final de un intervalo de solo lectura.

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

Busca el valor especificado y devuelve el índice de su primera aparición. Los valores se comparan con IEquatable{T}. Equals(T).

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

Busca la secuencia especificada y devuelve el índice de su primera aparición. Los valores se comparan con IEquatable{T}. Equals(T).

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

Busca el primer índice de cualquiera de los valores especificados de forma similar a llamar a IndexOf varias veces con el operador OR lógico.

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

Busca el primer índice de cualquiera de los valores especificados de forma similar a llamar a IndexOf varias veces con el operador OR lógico.

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

Busca el primer índice de cualquiera de los valores especificados.

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

Busca el primer índice de cualquiera de los valores especificados de forma similar a llamar a IndexOf varias veces con el operador OR lógico.

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

Busca el primer índice de cualquier valor distinto del valueespecificado.

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

Busca el primer índice de cualquier valor distinto del value0 especificado o value1.

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

Busca el primer índice de cualquier valor distinto del value0especificado, value1o value2.

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

Busca el primer índice de cualquier valor distinto del valuesespecificado.

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

Busca el primer índice de cualquier valor distinto del valuesespecificado.

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

Busca el primer índice de cualquier valor fuera del intervalo entre lowInclusive y highInclusive, ambos incluidos.

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

Busca el primer índice de cualquier valor del intervalo entre lowInclusive y highInclusive, ambos incluidos.

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

Busca el valor especificado y devuelve el índice de su última aparición. Los valores se comparan con IEquatable{T}. Equals(T).

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

Busca la secuencia especificada y devuelve el índice de su última aparición. Los valores se comparan con IEquatable{T}. Equals(T).

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

Busca el último índice de cualquiera de los valores especificados similares a llamar a LastIndexOf varias veces con el operador OR lógico.

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

Busca el último índice de cualquiera de los valores especificados similares a llamar a LastIndexOf varias veces con el operador OR lógico.

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

Busca el último índice de cualquiera de los valores especificados.

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

Busca el último índice de cualquiera de los valores especificados similares a llamar a LastIndexOf varias veces con el operador OR lógico.

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

Busca el último índice de cualquier valor distinto del valueespecificado.

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

Busca el último índice de cualquier valor distinto del value0 especificado o value1.

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

Busca el último índice de cualquier valor distinto del value0especificado, value1o value2.

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

Busca el último índice de cualquier valor distinto del valuesespecificado.

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

Busca el último índice de cualquier valor distinto del valuesespecificado.

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

Busca el último índice de cualquier valor fuera del intervalo entre lowInclusive y highInclusive, ambos incluidos.

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

Busca el último índice de cualquier valor del intervalo entre lowInclusive y highInclusive, ambos incluidos.

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

Determina si dos secuencias de solo lectura se superponen en la memoria.

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

Determina si dos secuencias de solo lectura se superponen en la memoria y genera el desplazamiento del elemento.

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

Copia source en destination, reemplazando todas las apariciones de oldValue por newValue.

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

Determina el orden relativo de dos secuencias de solo lectura comparando sus elementos mediante IComparable{T}. CompareTo(T).

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

Determina si dos secuencias de solo lectura son iguales comparando los elementos mediante IEquatable{T}. Equals(T).

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

Determina si dos secuencias son iguales comparando los elementos mediante un IEqualityComparer<T>.

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

Proporciona una representación de solo lectura segura para tipos y segura para memoria de una región contigua de memoria arbitraria.

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

Proporciona una representación de solo lectura segura para tipos y segura para memoria de una región contigua de memoria arbitraria.

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

Proporciona una representación de solo lectura segura para tipos y segura para memoria de una región contigua de memoria arbitraria.

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

Proporciona una representación de solo lectura segura para tipos y segura para memoria de una región contigua de memoria arbitraria.

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

Determina si el valor especificado aparece al principio del intervalo.

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

Determina si una secuencia especificada aparece al principio de un intervalo de solo lectura.

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

Quita todas las apariciones iniciales y finales de un elemento especificado de un intervalo de solo lectura.

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

Quita todas las apariciones iniciales y finales de un conjunto de elementos especificados en un intervalo de solo lectura de un intervalo de solo lectura.

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

Quita todas las apariciones finales de un elemento especificado de un intervalo de solo lectura.

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

Quita todas las apariciones finales de un conjunto de elementos especificados en un intervalo de solo lectura de un intervalo de solo lectura.

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

Quita todas las apariciones iniciales de un elemento especificado del intervalo.

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

Quita todas las apariciones iniciales de un conjunto de elementos especificados en un intervalo de solo lectura del intervalo.

Se aplica a

Consulte también