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.Provides a type-safe and memory-safe read-only representation of a contiguous region of arbitrary memory.

generic <typename T>
public value class ReadOnlySpan
public struct ReadOnlySpan<T>
type ReadOnlySpan<'T> = struct
Public Structure ReadOnlySpan(Of T)

Parámetros de tipo

T

Tipo de elementos de ReadOnlySpan<T> .The type of items in the ReadOnlySpan<T>.

Herencia
ReadOnlySpan<T>

Comentarios

ReadOnlySpan<T> es un struct de referencia que se asigna en la pila y nunca puede escapar al montón administrado.ReadOnlySpan<T> is a ref struct that is allocated on the stack and can never escape to the managed heap. Los tipos de struct de referencia tienen una serie de restricciones para asegurarse de que no se pueden promover al montón administrado, lo que incluye que no se les puede aplicar la conversión boxing, que se capturan en expresiones lambda, se asignan a variables de tipo Object , se asignan a dynamic variables y no pueden implementar ningún tipo de interfaz.Ref struct types have a number of restrictions to ensure that they cannot be promoted to the managed heap, including that they can't be boxed, captured in lambda expressions, assigned to variables of type Object, assigned to dynamic variables, and they cannot implement any interface type.

Una ReadOnlySpan<T> instancia de se usa a menudo para hacer referencia a los elementos de una matriz o de una parte de una matriz.A ReadOnlySpan<T> instance is often used to reference the elements of an array or a portion of an array. Sin embargo, a diferencia de una matriz, una ReadOnlySpan<T> instancia puede apuntar a la memoria administrada, a la memoria nativa o a la memoria administrada en la pila.Unlike an array, however, a ReadOnlySpan<T> instance can point to managed memory, native memory, or memory managed on the stack.

Constructores

ReadOnlySpan<T>(T[])

Crea un objeto ReadOnlySpan<T> con la totalidad de una matriz especificada.Creates a new ReadOnlySpan<T> over the entirety of a specified array.

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.Creates a new ReadOnlySpan<T> that includes a specified number of elements of an array starting at a specified index.

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.Creates a new ReadOnlySpan<T> from a specified number of T elements starting at a specified memory address.

Propiedades

Empty

Devuelve una ReadOnlySpan<T> vacía.Returns an empty ReadOnlySpan<T>.

IsEmpty

Devuelve un valor que indica que el intervalo actual de solo lectura está vacío.Returns a value that indicates the current read-only span is empty.

Item[Int32]

Obtiene un elemento del intervalo de solo lectura en el índice de base cero especificado.Gets an item from the read-only span at the specified zero-based index.

Length

El número de elementos del intervalo de solo lectura.The number of items in the read-only span.

Métodos

CopyTo(Span<T>)

Copia el contenido de este elemento ReadOnlySpan<T> en un elemento Span<T> de destino.Copies the contents of this ReadOnlySpan<T> into a destination Span<T>.

Equals(Object)
Obsoleto.

No compatible.Not supported. Produce una excepción NotSupportedException.Throws a NotSupportedException.

GetEnumerator()

Devuelve un enumerador para este elemento ReadOnlySpan<T>.Returns an enumerator for this ReadOnlySpan<T>.

GetHashCode()
Obsoleto.

No compatible.Not supported. Produce una excepción NotSupportedException.Throws a NotSupportedException.

GetPinnableReference()

Referencia de solo lectura a un objeto de tipo T que se puede usar para el anclaje y que es necesario para admitir el uso del intervalo dentro de una instrucción fixed.A read-only reference to an object of type T that can be used for pinning, and is required to support the use of span within a fixed statement.

Slice(Int32)

Forma un segmento fuera del intervalo actual de solo lectura que comienza en un índice especificado.Forms a slice out of the current read-only span that begins at a specified index.

Slice(Int32, Int32)

Forma un segmento fuera del intervalo actual de solo lectura a partir de un índice especificado durante una longitud determinada.Forms a slice out of the current read-only span starting at a specified index for a specified length.

ToArray()

Copia el contenido de este intervalo de solo lectura en una nueva matriz.Copies the contents of this read-only span into a new array.

ToString()

Devuelve la representación de ReadOnlySpan<T>.Returns the string representation of this 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.Attempts to copy the contents of this ReadOnlySpan<T> into a Span<T> and returns a value to indicate whether or not the operation succeeded.

Operadores

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

Devuelve un valor que indica si dos instancias de ReadOnlySpan<T> son iguales.Returns a value that indicates whether two ReadOnlySpan<T> instances are equal.

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

Define una conversión implícita de un elemento ArraySegment<T> en ReadOnlySpan<T>.Defines an implicit conversion of an ArraySegment<T> to a ReadOnlySpan<T>.

Implicit(T[] to ReadOnlySpan<T>)

Define una conversión implícita de una matriz en ReadOnlySpan<T>.Defines an implicit conversion of an array to a ReadOnlySpan<T>.

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

Devuelve un valor que indica si dos instancias de ReadOnlySpan<T> no son iguales.Returns a value that indicates whether two ReadOnlySpan<T> instances are not equal.

Métodos de extensión

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

Busca un valor en un objeto ReadOnlySpan<T> ordenado completo, utilizando la interfaz genérica IComparable<T> especificada.Searches an entire sorted ReadOnlySpan<T> for a value using the specified IComparable<T> generic interface.

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.Searches an entire sorted ReadOnlySpan<T> for a specified value using the specified TComparer generic type.

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

Busca un valor en un objeto ReadOnlySpan<T> ordenado completo, utilizando el tipo genérico TComparable especificada.Searches an entire sorted ReadOnlySpan<T> for a value using the specified TComparable generic type.

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

Indica si un valor especificado se encuentra en un intervalo de solo lectura.Indicates whether a specified value is found in a read-only span. Los valores se comparan mediante IEquatable{T}.Equals(T).Values are compared using IEquatable{T}.Equals(T).

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

Determina si la secuencia especificada aparece al final de un intervalo de solo lectura.Determines whether the specified sequence appears at the end of a read-only span.

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

Busca el valor especificado y devuelve el índice de su primera aparición.Searches for the specified value and returns the index of its first occurrence. Los valores se comparan mediante IEquatable{T}.Equals(T).Values are compared using IEquatable{T}.Equals(T).

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

Busca la secuencia especificada y devuelve el índice de su primera aparición.Searches for the specified sequence and returns the index of its first occurrence. Los valores se comparan mediante IEquatable{T}.Equals(T).Values are compared using 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.Searches for the first index of any of the specified values similar to calling IndexOf several times with the logical OR operator.

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.Searches for the first index of any of the specified values similar to calling IndexOf several times with the logical OR operator.

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.Searches for the first index of any of the specified values similar to calling IndexOf several times with the logical OR operator.

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

Busca el valor especificado y devuelve el índice de su última aparición.Searches for the specified value and returns the index of its last occurrence. Los valores se comparan mediante IEquatable{T}.Equals(T).Values are compared using IEquatable{T}.Equals(T).

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

Busca la secuencia especificada y devuelve el índice de su última aparición.Searches for the specified sequence and returns the index of its last occurrence. Los valores se comparan mediante IEquatable{T}.Equals(T).Values are compared using 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.Searches for the last index of any of the specified values similar to calling LastIndexOf several times with the logical OR operator.

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.Searches for the last index of any of the specified values similar to calling LastIndexOf several times with the logical OR operator.

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.Searches for the last index of any of the specified values similar to calling LastIndexOf several times with the logical OR operator.

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

Determina si dos secuencias de solo lectura se superponen en la memoria.Determines whether two read-only sequences overlap in memory.

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.Determines whether two read-only sequences overlap in memory and outputs the element offset.

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

Determina el orden relativo de dos secuencias de solo lectura, comparando sus elementos mediante IComparable{T}.CompareTo(T).Determines the relative order of two read-only sequences by comparing their elements using 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).Determines whether two read-only sequences are equal by comparing the elements using IEquatable{T}.Equals(T).

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

Determina si una secuencia especificada aparece al inicio de un intervalo de solo lectura.Determines whether a specified sequence appears at the start of a read-only span.

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

Quita todas las apariciones iniciales y finales de un elemento especificado de un intervalo de solo lectura.Removes all leading and trailing occurrences of a specified element from a read-only span.

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.Removes all leading and trailing occurrences of a set of elements specified in a read-only span from a read-only span.

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

Quita todas las apariciones finales de un elemento especificado de un intervalo de solo lectura.Removes all trailing occurrences of a specified element from a read-only span.

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.Removes all trailing occurrences of a set of elements specified in a read-only span from a read-only span.

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

Quita todas las apariciones iniciales de un elemento especificado del intervalo.Removes all leading occurrences of a specified element from the span.

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.Removes all leading occurrences of a set of elements specified in a read-only span from the span.

Se aplica a

Consulte también