ReadOnlySpan<T> Estructura

Definición

Proporciona una representación de solo lectura con seguridad de tipos y 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 ReadOnlySpan<T>.

Herencia
ReadOnlySpan<T>
Atributos

Comentarios

ReadOnlySpan<T> es una estructura ref que se asigna en la pila y nunca puede escapar al montón administrado. Los tipos de struct de referencia 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.

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

Constructores

ReadOnlySpan<T>(T)

Crea una nueva ReadOnlySpan<T> longitud de 1 alrededor de la referencia especificada.

ReadOnlySpan<T>(T[])

Crea un objeto ReadOnlySpan<T> con la totalidad de una matriz especificada.

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

Crea un objeto 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 objeto ReadOnlySpan<T> a partir de un número especificado de elementos T desde una dirección de memoria especificada.

Propiedades

Empty

Devuelve una ReadOnlySpan<T> vacía.

IsEmpty

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

Item[Int32]

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

Length

El número de elementos del intervalo de solo lectura.

Métodos

CastUp<TDerived>(ReadOnlySpan<TDerived>)

Proporciona una representación de solo lectura con seguridad de tipos y memoria de una región contigua de memoria arbitraria.

CopyTo(Span<T>)

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

Equals(Object)
Obsoletos.
Obsoletos.

No se admite. Produce una excepción NotSupportedException.

GetEnumerator()

Devuelve un enumerador para este elemento ReadOnlySpan<T>.

GetHashCode()
Obsoletos.

No se admite. Produce una excepción NotSupportedException.

GetPinnableReference()

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

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

Slice(Int32)

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

Slice(Int32, Int32)

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

ToArray()

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

ToString()

Devuelve la representación de ReadOnlySpan<T>.

TryCopyTo(Span<T>)

Intenta copiar el contenido de ReadOnlySpan<T> en Span<T> y devuelve un valor para indicar si la operación se ha realizado 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 elemento ArraySegment<T> en ReadOnlySpan<T>.

Implicit(T[] to ReadOnlySpan<T>)

Define una conversión implícita de una matriz en 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 valor en un objeto ReadOnlySpan<T> ordenado completo, utilizando la interfaz genérica IComparable<T> especificada.

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

Busca un valor especificado en un objeto ReadOnlySpan<T> ordenado completo, utilizando el tipo genérico TComparer especificada.

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

Busca un valor en un objeto ReadOnlySpan<T> ordenado completo, utilizando el tipo genérico TComparable especificada.

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 un valor especificado se encuentra en un intervalo de solo lectura. Los valores se comparan mediante IEquatable{T}.Equals(T).

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

Busca una aparición de value0 o value1, y devuelve true si se encuentra. Si no se encuentra, devuelve false.

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

Busca una aparición de value0, value1o value2, y devuelve true si se encuentra. Si no se encuentra, devuelve false.

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

Busca una aparición de cualquiera de los valores especificados values y devuelve true si se encuentra. Si no se encuentra, devuelve false.

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

Busca una aparición de cualquiera de los valores especificados values y devuelve true si se encuentra. Si no se encuentra, devuelve false.

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

Busca cualquier valor distinto del especificado value.

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

Busca cualquier valor distinto value0 de 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 especificado values.

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

Busca cualquier valor distinto del especificado values.

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 inclusive, y devuelve true si se encuentra. Si no se encuentra, devuelve false.

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

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

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

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

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 mediante 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 mediante IEquatable{T}.Equals(T).

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

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

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

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

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, similar a llamar a IndexOf varias veces con el operador lógico OR.

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

Busca el primer índice de cualquier valor distinto del especificado value.

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

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

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

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

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

Busca el primer índice de cualquier valor distinto del especificado values.

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

Busca el primer índice de cualquier valor distinto del especificado values.

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 mediante 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 mediante IEquatable{T}.Equals(T).

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

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

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

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

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, similar a llamar a LastIndexOf varias veces con el operador lógico OR.

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

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

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

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

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

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

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

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

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

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

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 .IEqualityComparer<T>

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

Determina si una secuencia especificada aparece al inicio 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 de un intervalo de solo lectura todas las apariciones iniciales y finales de un conjunto de elementos especificados en 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 de un intervalo de solo lectura todas las apariciones finales de un conjunto de elementos especificados en 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 del intervalo todas las apariciones iniciales de un conjunto de elementos especificados en un intervalo de solo lectura.

Se aplica a

Consulte también