Condividi tramite


ReadOnlySpan<T> Struct

Definizione

Fornisce una rappresentazione di sola lettura indipendente dai tipi e sicura per la memoria di un'area contigua di 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)

Parametri di tipo

T

Tipo di elementi nel ReadOnlySpan<T>.

Ereditarietà
ReadOnlySpan<T>
Attributi

Commenti

è un di struct di riferimento allocato nello stack e non può mai eseguire l'escape all'heap gestito. I tipi di struct ref hanno una serie di restrizioni per assicurarsi che non possano essere promossi all'heap gestito, incluso che non possono essere boxed, acquisiti in espressioni lambda, assegnati a variabili di tipo Object, assegnate alle variabili di dynamic variabili e non possono implementare alcun tipo di interfaccia.

Un'istanza di ReadOnlySpan<T> viene spesso usata per fare riferimento agli elementi di una matrice o di una parte di una matrice. A differenza di una matrice, tuttavia, un'istanza di ReadOnlySpan<T> può puntare alla memoria gestita, alla memoria nativa o alla memoria gestita nello stack.

Costruttori

ReadOnlySpan<T>(T)

Crea una nuova ReadOnlySpan<T> di lunghezza 1 intorno al riferimento specificato.

ReadOnlySpan<T>(T[])

Crea una nuova ReadOnlySpan<T> sull'intera matrice di una matrice specificata.

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

Crea un nuovo ReadOnlySpan<T> che include un numero specificato di elementi di una matrice a partire da un indice specificato.

ReadOnlySpan<T>(Void*, Int32)

Crea un nuovo ReadOnlySpan<T> da un numero specificato di elementi T a partire da un indirizzo di memoria specificato.

Proprietà

Empty

Restituisce un ReadOnlySpan<T>vuoto.

IsEmpty

Restituisce un valore che indica che l'intervallo di sola lettura corrente è vuoto.

Item[Int32]

Ottiene un elemento dall'intervallo di sola lettura in corrispondenza dell'indice in base zero specificato.

Length

Numero di elementi nell'intervallo di sola lettura.

Metodi

CastUp<TDerived>(ReadOnlySpan<TDerived>)

Esegue il cast di un intervallo di sola lettura di TDerived a un intervallo di sola lettura di T.

CopyTo(Span<T>)

Copia il contenuto di questo ReadOnlySpan<T> in un Span<T>di destinazione.

Equals(Object)
Obsoleti.
Obsoleti.

Non supportato. Genera un NotSupportedException.

GetEnumerator()

Restituisce un enumeratore per questo ReadOnlySpan<T>.

GetHashCode()
Obsoleti.

Non supportato. Genera un NotSupportedException.

GetPinnableReference()

Restituisce un riferimento di sola lettura a un oggetto di tipo T che può essere utilizzato per l'aggiunta.

Questo metodo è progettato per supportare i compilatori .NET e non deve essere chiamato dal codice utente.

Slice(Int32)

Forma una sezione dall'intervallo di sola lettura corrente che inizia in corrispondenza di un indice specificato.

Slice(Int32, Int32)

Crea una sezione dall'intervallo di sola lettura corrente a partire da un indice specificato per una lunghezza specificata.

ToArray()

Copia il contenuto di questo intervallo di sola lettura in una nuova matrice.

ToString()

Restituisce la rappresentazione di stringa di questo ReadOnlySpan<T>.

TryCopyTo(Span<T>)

Tenta di copiare il contenuto di questo ReadOnlySpan<T> in un Span<T> e restituisce un valore per indicare se l'operazione è riuscita o meno.

Operatori

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

Restituisce un valore che indica se due istanze ReadOnlySpan<T> sono uguali.

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

Definisce una conversione implicita di un ArraySegment<T> in un ReadOnlySpan<T>.

Implicit(T[] to ReadOnlySpan<T>)

Definisce una conversione implicita di una matrice in un ReadOnlySpan<T>.

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

Restituisce un valore che indica se due istanze ReadOnlySpan<T> non sono uguali.

Metodi di estensione

ToImmutableArray<T>(ReadOnlySpan<T>)

Produrre una matrice di contenuti non modificabile dagli elementi specificati.

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

Cerca un intero ReadOnlySpan<T> ordinato per un valore usando l'interfaccia generica IComparable<T> specificata.

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

Cerca un intero ReadOnlySpan<T> ordinato per un valore specificato utilizzando il tipo generico TComparer specificato.

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

Cerca un intero ReadOnlySpan<T> ordinato per un valore utilizzando il tipo generico TComparable specificato.

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

Trova la lunghezza di qualsiasi prefisso comune condiviso tra span e other.

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

Determina la lunghezza di qualsiasi prefisso comune condiviso tra span e other.

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

Indica se un valore specificato viene trovato in un intervallo di sola lettura. I valori vengono confrontati usando IEquatable{T}. Equals(T).

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

Cerca un'occorrenza di value0 o value1.

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

Cerca un'occorrenza di value0, value1o value2.

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

Cerca un'occorrenza di una delle valuesspecificate.

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

Cerca un'occorrenza di una delle valuesspecificate.

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

Cerca qualsiasi valore diverso dal valuespecificato.

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

Cerca qualsiasi valore diverso da value0 o value1.

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

Cerca qualsiasi valore diverso da value0, value1o value2.

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

Cerca qualsiasi valore diverso dal valuesspecificato.

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

Cerca qualsiasi valore diverso dal valuesspecificato.

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

Cerca qualsiasi valore al di fuori dell'intervallo tra lowInclusive e highInclusive, inclusi.

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

Cerca qualsiasi valore nell'intervallo compreso tra lowInclusive e highInclusive, inclusi.

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

Conta il numero di volte in cui il value specificato si verifica nel span.

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

Conta il numero di volte in cui value si verifica in span.

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

Determina se il valore specificato viene visualizzato alla fine dell'intervallo.

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

Determina se la sequenza specificata viene visualizzata alla fine di un intervallo di sola lettura.

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

Cerca il valore specificato e restituisce l'indice della prima occorrenza. I valori vengono confrontati usando IEquatable{T}. Equals(T).

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

Cerca la sequenza specificata e restituisce l'indice della prima occorrenza. I valori vengono confrontati usando IEquatable{T}. Equals(T).

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

Cerca il primo indice di uno dei valori specificati in modo analogo alla chiamata di IndexOf più volte con l'operatore OR logico.

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

Cerca il primo indice di uno dei valori specificati in modo analogo alla chiamata di IndexOf più volte con l'operatore OR logico.

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

Cerca il primo indice di uno dei valori specificati.

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

Cerca il primo indice di uno dei valori specificati in modo analogo alla chiamata di IndexOf più volte con l'operatore OR logico.

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

Cerca il primo indice di qualsiasi valore diverso da quello specificato value.

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

Cerca il primo indice di qualsiasi valore diverso dal value0 specificato o value1.

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

Cerca il primo indice di qualsiasi valore diverso da quello specificato value0, value1o value2.

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

Cerca il primo indice di qualsiasi valore diverso da quello specificato values.

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

Cerca il primo indice di qualsiasi valore diverso da quello specificato values.

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

Cerca il primo indice di qualsiasi valore al di fuori dell'intervallo tra lowInclusive e highInclusive, inclusi.

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

Cerca il primo indice di qualsiasi valore nell'intervallo tra lowInclusive e highInclusive, inclusi.

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

Cerca il valore specificato e restituisce l'indice dell'ultima occorrenza. I valori vengono confrontati usando IEquatable{T}. Equals(T).

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

Cerca la sequenza specificata e restituisce l'indice dell'ultima occorrenza. I valori vengono confrontati usando IEquatable{T}. Equals(T).

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

Cerca l'ultimo indice di uno qualsiasi dei valori specificati in modo simile alla chiamata di LastIndexOf più volte con l'operatore OR logico.

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

Cerca l'ultimo indice di uno qualsiasi dei valori specificati in modo simile alla chiamata di LastIndexOf più volte con l'operatore OR logico.

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

Cerca l'ultimo indice di uno dei valori specificati.

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

Cerca l'ultimo indice di uno qualsiasi dei valori specificati in modo simile alla chiamata di LastIndexOf più volte con l'operatore OR logico.

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

Cerca l'ultimo indice di qualsiasi valore diverso da quello specificato value.

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

Cerca l'ultimo indice di qualsiasi valore diverso dal value0 specificato o value1.

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

Cerca l'ultimo indice di qualsiasi valore diverso da quello specificato value0, value1o value2.

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

Cerca l'ultimo indice di qualsiasi valore diverso da quello specificato values.

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

Cerca l'ultimo indice di qualsiasi valore diverso da quello specificato values.

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

Cerca l'ultimo indice di qualsiasi valore al di fuori dell'intervallo tra lowInclusive e highInclusive, inclusi.

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

Cerca l'ultimo indice di qualsiasi valore nell'intervallo tra lowInclusive e highInclusive, inclusi.

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

Determina se due sequenze di sola lettura si sovrappongono in memoria.

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

Determina se due sequenze di sola lettura si sovrappongono in memoria e restituisce l'offset dell'elemento.

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

Copia source in destination, sostituendo tutte le occorrenze di oldValue con newValue.

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

Determina l'ordine relativo di due sequenze di sola lettura confrontando i relativi elementi usando IComparable{T}. CompareTo(T).

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

Determina se due sequenze di sola lettura sono uguali confrontando gli elementi usando IEquatable{T}. Equals(T).

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

Determina se due sequenze sono uguali confrontando gli elementi usando un IEqualityComparer<T>.

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

Fornisce una rappresentazione di sola lettura indipendente dai tipi e sicura per la memoria di un'area contigua di memoria arbitraria.

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

Fornisce una rappresentazione di sola lettura indipendente dai tipi e sicura per la memoria di un'area contigua di memoria arbitraria.

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

Fornisce una rappresentazione di sola lettura indipendente dai tipi e sicura per la memoria di un'area contigua di memoria arbitraria.

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

Fornisce una rappresentazione di sola lettura indipendente dai tipi e sicura per la memoria di un'area contigua di memoria arbitraria.

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

Determina se il valore specificato viene visualizzato all'inizio dell'intervallo.

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

Determina se una sequenza specificata viene visualizzata all'inizio di un intervallo di sola lettura.

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

Rimuove tutte le occorrenze iniziali e finali di un elemento specificato da un intervallo di sola lettura.

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

Rimuove tutte le occorrenze iniziali e finali di un set di elementi specificato in un intervallo di sola lettura da un intervallo di sola lettura.

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

Rimuove tutte le occorrenze finali di un elemento specificato da un intervallo di sola lettura.

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

Rimuove tutte le occorrenze finali di un set di elementi specificato in un intervallo di sola lettura da un intervallo di sola lettura.

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

Rimuove tutte le occorrenze iniziali di un elemento specificato dall'intervallo.

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

Rimuove tutte le occorrenze iniziali di un set di elementi specificato in un intervallo di sola lettura dall'intervallo.

Si applica a

Vedi anche