ReadOnlySpan<T> Struct

Definizione

Fornisce una rappresentazione di sola lettura indipendente dai tipi e dalla memoria di una regione 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 in ReadOnlySpan<T>.

Ereditarietà
ReadOnlySpan<T>
Attributi

Commenti

ReadOnlySpan<T> è uno struct ref allocato nello stack e non può mai eseguire l'escape all'heap gestito. I tipi di struct ref hanno una serie di restrizioni per garantire che non possano essere promossi all'heap gestito, inclusi quelli che non possono essere boxed, acquisiti nelle espressioni lambda, assegnati a variabili di tipo Object, assegnati alle dynamic variabili e non possono implementare alcun tipo di interfaccia.

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

Costruttori

ReadOnlySpan<T>(T)

Crea un nuovo ReadOnlySpan<T> valore di lunghezza 1 intorno al riferimento specificato.

ReadOnlySpan<T>(T[])

Crea un nuovo oggetto ReadOnlySpan<T> su un'intera matrice specificata.

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

Crea un nuovo oggetto 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 elemento ReadOnlySpan<T> da un numero specificato di elementi T a partire da un indirizzo di memoria specificato.

Proprietà

Empty

Restituisce un oggetto ReadOnlySpan<T> vuoto.

IsEmpty

Restituisce un valore che indica se 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>)

Fornisce una rappresentazione di sola lettura indipendente dai tipi e dalla memoria di una regione contigua di memoria arbitraria.

CopyTo(Span<T>)

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

Equals(Object)
Obsoleti.
Obsoleti.

Non supportata. Genera un oggetto NotSupportedException.

GetEnumerator()

Restituisce un enumeratore per questo ReadOnlySpan<T>.

GetHashCode()
Obsoleti.

Non supportata. Genera un oggetto 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)

Crea 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 che inizia in corrispondenza di 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 della stringa di questo oggetto ReadOnlySpan<T>.

TryCopyTo(Span<T>)

Tenta di copiare il contenuto di questo ReadOnlySpan<T> in un Span<T> e restituisce un valore che indica se l'operazione ha avuto esito positivo.

Operatori

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

Restituisce un valore che indica se due istanze di 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 ReadOnlySpan<T>.

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

Restituisce un valore che indica se due istanze di 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>)

Esegue la ricerca di un valore in un'intera matrice ReadOnlySpan<T> ordinata usando l'interfaccia generica IComparable<T> specificata.

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

Esegue la ricerca di un valore specifico in un'intera matrice ReadOnlySpan<T> ordinata usando il tipo generico TComparer specificato.

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

Esegue la ricerca di un valore in un'intera matrice ReadOnlySpan<T> ordinata usando 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 tramite IEquatable{T}.Equals(T).

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

Cerca un'occorrenza di value0 o value1e restituisce true se trovato. Se non viene trovato, restituisce false.

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

Cerca un'occorrenza di value0, value1o value2e restituisce true se trovato. Se non viene trovato, restituisce false.

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

Cerca un'occorrenza di una delle proprietà specificate values e restituisce true se trovato. Se non viene trovato, restituisce false.

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

Cerca un'occorrenza di una delle proprietà specificate values e restituisce true se trovato. Se non viene trovato, restituisce false.

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

Cerca qualsiasi valore diverso da quello specificato value.

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 da quello specificato values.

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

Cerca qualsiasi valore diverso da quello specificato values.

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

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

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

Cerca qualsiasi valore nell'intervallo compreso tra lowInclusive e highInclusive, inclusivo e restituisce true se trovato. Se non viene trovato, restituisce false.

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

Conta il numero di volte in cui si verifica l'oggetto spanspecificato value in .

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

Conta il numero di volte value in span.

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

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

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

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

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

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

Cerca il primo indice di uno qualsiasi dei valori specificati.

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

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

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

Cerca il primo indice di qualsiasi valore diverso dall'oggetto specificato value.

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

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

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

Cerca il primo indice di qualsiasi valore diverso da , value1o value2specificatovalue0.

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

Cerca il primo indice di qualsiasi valore diverso dall'oggetto specificato values.

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

Cerca il primo indice di qualsiasi valore diverso dall'oggetto 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 compreso 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 tramite 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 tramite IEquatable{T}.Equals(T).

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

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

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

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

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 dei valori specificati simile alla chiamata di LastIndexOf eseguita più volte con l'operatore logico OR.

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

Cerca l'ultimo indice di qualsiasi valore diverso dall'oggetto specificato value.

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

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

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

Cerca l'ultimo indice di qualsiasi valore diverso da , value1o value2specificatovalue0.

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

Cerca l'ultimo indice di qualsiasi valore diverso dall'oggetto specificato values.

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

Cerca l'ultimo indice di qualsiasi valore diverso dall'oggetto 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 compreso 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 genera 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 con IEquatable{T}.Equals(T).

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

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

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 da un intervallo.

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

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

Si applica a

Vedi anche