Span<T> Struct

Definizione

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

generic <typename T>
public value class Span
public readonly ref struct Span<T>
[System.Runtime.InteropServices.Marshalling.NativeMarshalling(typeof(System.Runtime.InteropServices.Marshalling.SpanMarshaller<,>))]
public readonly ref struct Span<T>
type Span<'T> = struct
[<System.Runtime.InteropServices.Marshalling.NativeMarshalling(typeof(System.Runtime.InteropServices.Marshalling.SpanMarshaller<,>))>]
type Span<'T> = struct
Public Structure Span(Of T)

Parametri di tipo

T

Tipo di elementi in Span<T>.

Ereditarietà
Span<T>
Attributi

Commenti

Per altre informazioni su questa API, vedere Osservazioni supplementari sull'API per Span<T>.

Costruttori

Span<T>(T)

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

Span<T>(T[])

Crea un nuovo oggetto Span<T> sull'intera matrice specificata.

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

Crea un nuovo oggetto Span<T> che include un numero specificato di elementi di una matrice che iniziano in un indice specificato.

Span<T>(Void*, Int32)

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

Proprietà

Empty

Restituisce un oggetto Span<T> vuoto.

IsEmpty

Restituisce un valore che indica se l'oggetto Span<T> corrente è vuoto.

Item[Int32]

Ottiene l'elemento in corrispondenza dell'indice in base zero.

Length

Restituisce la lunghezza dell'intervallo corrente.

Metodi

Clear()

Cancella il contenuto di questo oggetto Span<T>.

CopyTo(Span<T>)

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

Equals(Object)
Obsoleti.
Obsoleti.

Le chiamate a questo metodo non sono supportate.

Fill(T)

Inserisce un valore specificato negli elementi di questo intervallo.

GetEnumerator()

Restituisce un enumeratore per questo Span<T>.

GetHashCode()
Obsoleti.

Genera un oggetto NotSupportedException.

GetPinnableReference()

Restituisce un riferimento 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 corrente che inizia in corrispondenza di un indice specificato.

Slice(Int32, Int32)

Crea una sezione dall'intervallo corrente che inizia in corrispondenza di un indice specificato per una lunghezza specificata.

ToArray()

Copia il contenuto di questo intervallo in una nuova matrice.

ToString()

Restituisce la rappresentazione di stringa dell'oggetto Span<T>.

TryCopyTo(Span<T>)

Tenta di copiare l'oggetto Span<T> corrente in un Span<T> di destinazione e restituisce un valore che indica se l'operazione di copia ha avuto esito positivo.

Operatori

Equality(Span<T>, Span<T>)

Restituisce un valore che indica se due oggetti Span<T> sono uguali.

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

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

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

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

Implicit(T[] to Span<T>)

Definisce una conversione implicita di una matrice in Span<T>.

Inequality(Span<T>, Span<T>)

Restituisce un valore che indica se due oggetti Span<T> non sono uguali.

Metodi di estensione

ToImmutableArray<T>(Span<T>)

Converte l'intervallo in una matrice non modificabile.

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

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

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

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

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

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

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

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

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

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

Contains<T>(Span<T>, T)

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

ContainsAny<T>(Span<T>, T, T)

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

ContainsAny<T>(Span<T>, T, T, T)

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

ContainsAny<T>(Span<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>(Span<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>(Span<T>, T)

Cerca qualsiasi valore diverso da quello specificato value.

ContainsAnyExcept<T>(Span<T>, T, T)

Cerca qualsiasi valore diverso da value0 o value1.

ContainsAnyExcept<T>(Span<T>, T, T, T)

Cerca qualsiasi valore diverso da value0, value1o value2.

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

Cerca qualsiasi valore diverso da quello specificato values.

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

Cerca qualsiasi valore diverso da quello specificato values.

ContainsAnyExceptInRange<T>(Span<T>, T, T)

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

ContainsAnyInRange<T>(Span<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>(Span<T>, T)

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

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

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

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

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

IndexOf<T>(Span<T>, T)

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

IndexOf<T>(Span<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>(Span<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>(Span<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>(Span<T>, SearchValues<T>)

Cerca il primo indice di uno qualsiasi dei valori specificati.

IndexOfAny<T>(Span<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>(Span<T>, T)

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

IndexOfAnyExcept<T>(Span<T>, T, T)

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

IndexOfAnyExcept<T>(Span<T>, T, T, T)

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

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

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

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

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

IndexOfAnyExceptInRange<T>(Span<T>, T, T)

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

IndexOfAnyInRange<T>(Span<T>, T, T)

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

LastIndexOf<T>(Span<T>, T)

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

LastIndexOf<T>(Span<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>(Span<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>(Span<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>(Span<T>, SearchValues<T>)

Cerca l'ultimo indice di uno dei valori specificati.

LastIndexOfAny<T>(Span<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>(Span<T>, T)

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

LastIndexOfAnyExcept<T>(Span<T>, T, T)

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

LastIndexOfAnyExcept<T>(Span<T>, T, T, T)

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

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

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

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

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

LastIndexOfAnyExceptInRange<T>(Span<T>, T, T)

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

LastIndexOfAnyInRange<T>(Span<T>, T, T)

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

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

Determina se un intervallo e un intervallo di sola lettura si sovrappongono in memoria.

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

Determina se un intervallo e un intervallo di sola lettura si sovrappongono in memoria e genera l'offset dell'elemento.

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

Sostituisce tutte le occorrenze di oldValue con newValue.

Reverse<T>(Span<T>)

Inverte la sequenza degli elementi nell'intero intervallo.

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

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

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

Determina se un intervallo e un intervallo di sola lettura sono uguali confrontando gli elementi con IEquatable{T}.Equals(T).

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

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

Sort<T>(Span<T>)

Ordina gli elementi nell'intero Span<T> oggetto utilizzando l'implementazione IComparable<T> di ogni elemento dell'oggetto Span<T>.

Sort<T>(Span<T>, Comparison<T>)

Ordina gli elementi nell'intera classe Span<T> usando l'oggetto Comparison<T> specificato.

Sort<T,TComparer>(Span<T>, TComparer)

Ordina gli elementi nell'intera Span<T> usando TComparer.

Sort<TKey,TValue>(Span<TKey>, Span<TValue>)

Ordina una coppia di intervalli (uno contenente le chiavi e l'altro contenente gli elementi corrispondenti) in base alle chiavi del primo oggetto Span<T> usando l'implementazione di IComparable<T> di ogni chiave.

Sort<TKey,TValue>(Span<TKey>, Span<TValue>, Comparison<TKey>)

Ordina una coppia di intervalli (uno contenente le chiavi e l'altro contenente gli elementi corrispondenti) in base alle chiavi del primo oggetto Span<T> usando il confronto specificato.

Sort<TKey,TValue,TComparer>(Span<TKey>, Span<TValue>, TComparer)

Ordina una coppia di intervalli (uno contenente le chiavi e l'altro contenente gli elementi corrispondenti) in base alle chiavi del primo oggetto Span<T> usando l'operatore di confronto specificato.

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

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

Trim<T>(Span<T>, T)

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

Trim<T>(Span<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.

TrimEnd<T>(Span<T>, T)

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

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

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

TrimStart<T>(Span<T>, T)

Rimuove tutte le occorrenze iniziali di un elemento specificato da un intervallo.

TrimStart<T>(Span<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