Condividi tramite


ReadOnlyTensorSpan<T> Struct

Definizione

ReadOnlyTensorSpan rappresenta un'area contigua di memoria arbitraria. A differenza delle matrici, può puntare alla memoria gestita o nativa o alla memoria allocata nello stack. È indipendente dai tipi e sicuro per la memoria.

generic <typename T>
public value class ReadOnlyTensorSpan
[System.Diagnostics.CodeAnalysis.Experimental("SYSLIB5001", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public readonly ref struct ReadOnlyTensorSpan<T>
[<System.Diagnostics.CodeAnalysis.Experimental("SYSLIB5001", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type ReadOnlyTensorSpan<'T> = struct
Public Structure ReadOnlyTensorSpan(Of T)

Parametri di tipo

T
Ereditarietà
ReadOnlyTensorSpan<T>
Attributi

Costruttori

ReadOnlyTensorSpan<T>(Array)

Crea una nuova ReadOnlyTensorSpan<T> sulla Arrayfornita. Il nuovo ReadOnlyTensorSpan<T> avrà un rango pari a 1 e una lunghezza uguale alla lunghezza del Arrayspecificato.

ReadOnlyTensorSpan<T>(Array, ReadOnlySpan<Int32>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

Crea un nuovo ReadOnlyTensorSpan<T> sull'Array fornito utilizzando gli scostamento iniziale, le lunghezze e gli scostamento specificati. Se i progressi non vengono forniti, verranno calcolati automaticamente.

ReadOnlyTensorSpan<T>(Array, ReadOnlySpan<NIndex>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

Crea un nuovo ReadOnlyTensorSpan<T> sull'Array fornito utilizzando gli scostamento iniziale, le lunghezze e gli scostamento specificati. Se i progressi non vengono forniti, verranno calcolati automaticamente.

ReadOnlyTensorSpan<T>(ReadOnlySpan<T>)

Crea una nuova ReadOnlyTensorSpan<T> sulla ReadOnlySpan<T>fornita. Il nuovo ReadOnlyTensorSpan<T> avrà un rango pari a 1 e una lunghezza uguale alla lunghezza del ReadOnlySpan<T>specificato.

ReadOnlyTensorSpan<T>(ReadOnlySpan<T>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

Crea un nuovo ReadOnlyTensorSpan<T> sull'Span<T> fornito utilizzando le lunghezze e i progressi specificati. Se i progressi non vengono forniti, verranno calcolati automaticamente.

ReadOnlyTensorSpan<T>(T*, IntPtr)

Crea un nuovo intervallo sul buffer non gestito di destinazione. Chiaramente questo è abbastanza pericoloso la lunghezza non è controllata. Tuttavia, se la creazione è corretta, tutti gli usi successivi sono corretti.

ReadOnlyTensorSpan<T>(T*, IntPtr, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

Crea un nuovo intervallo sul buffer non gestito di destinazione. Chiaramente questo è abbastanza pericoloso, perché la lunghezza non è controllata. Tuttavia, se la creazione è corretta, tutti gli usi successivi sono corretti.

ReadOnlyTensorSpan<T>(T[])

Crea un nuovo intervallo sull'intera matrice di destinazione.

ReadOnlyTensorSpan<T>(T[], Index, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

Crea un nuovo intervallo sulla parte della matrice di destinazione a partire dall'indice 'start' e termina in corrispondenza dell'indice 'end' (esclusivo).

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

Crea un nuovo intervallo sulla parte della matrice di destinazione a partire dall'indice 'start' e termina in corrispondenza dell'indice 'end' (esclusivo).

Proprietà

Empty

Restituisce un intervallo di sola lettura di lunghezza 0 la cui base è il puntatore Null.

FlattenedLength

Numero di elementi nell'intervallo.

IsEmpty

Ottiene un valore che indica se questo TensorSpan<T> è vuoto.

Item[ReadOnlySpan<IntPtr>]

Restituisce un riferimento all'elemento specificato di ReadOnlyTensorSpan.

Item[ReadOnlySpan<NIndex>]

Restituisce un riferimento all'elemento specificato di ReadOnlyTensorSpan.

Item[ReadOnlySpan<NRange>]

Restituisce una sezione di ReadOnlyTensorSpan.

Lengths

Ottiene la lunghezza di ogni dimensione in questo TensorSpan<T>.

Rank

Ottiene il rango, noto anche come numero di dimensioni, di questo TensorSpan<T>.

Strides

Ottiene gli passi di questa TensorSpan<T>

Metodi

CastUp<TDerived>(ReadOnlyTensorSpan<TDerived>)

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

CopyTo(TensorSpan<T>)

Copia il contenuto di questo intervallo di sola lettura nell'intervallo di destinazione. Se l'origine e le destinazioni si sovrappongono, questo metodo si comporta come se i valori originali in una posizione temporanea prima della sovrascrittura della destinazione.

Equals(Object)
Obsoleti.

Questo metodo non è supportato perché non è possibile eseguire il boxing degli intervalli. Per confrontare due intervalli, usare operator==.

FlattenTo(Span<T>)

Appiattisce il contenuto di questo intervallo nell'oggetto specificato Span<T>.

GetEnumerator()

Ottiene un enumeratore per questo intervallo.

GetHashCode()
Obsoleti.

Questo metodo non è supportato perché non è possibile eseguire il boxing degli intervalli.

GetPinnableReference()

Restituisce un riferimento all'elemento 0 di ReadOnlyTensorSpan. Se ReadOnlyTensorSpan è vuoto, restituisce un riferimento Null. Può essere usato per l'aggiunta ed è necessario per supportare l'uso di span all'interno di un'istruzione fissa.

Slice(ReadOnlySpan<NIndex>)

Restituisce un riferimento all'elemento specificato di TensorSpan.

Slice(ReadOnlySpan<NRange>)

Crea una sezione all'esterno dell'intervallo specificato

ToString()

Restituisce un String con il nome del tipo e il numero di elementi.

TryCopyTo(TensorSpan<T>)

Copia il contenuto di questo intervallo di sola lettura nell'intervallo di destinazione. Se l'origine e le destinazioni si sovrappongono, questo metodo si comporta come se i valori originali in una posizione temporanea prima della sovrascrittura della destinazione.

TryFlattenTo(Span<T>)

Appiattisce il contenuto di questo intervallo nell'oggetto specificato Span<T>.

Operatori

Equality(ReadOnlyTensorSpan<T>, ReadOnlyTensorSpan<T>)

Restituisce true se il punto sinistro e destro nella stessa memoria e ha la stessa lunghezza. Si noti che questa operazione non verificare se il contenuto del è uguale.

Implicit(T[] to ReadOnlyTensorSpan<T>)

ReadOnlyTensorSpan rappresenta un'area contigua di memoria arbitraria. A differenza delle matrici, può puntare alla memoria gestita o nativa o alla memoria allocata nello stack. È indipendente dai tipi e sicuro per la memoria.

Inequality(ReadOnlyTensorSpan<T>, ReadOnlyTensorSpan<T>)

Restituisce false se il punto sinistro e destro con la stessa memoria e ha la stessa lunghezza. Si noti che questa operazione non verificare se il contenuto del è uguale.

Metodi di estensione

BroadcastTo<T>(ReadOnlyTensorSpan<T>, TensorSpan<T>)

Trasmettere i dati da source a destination.

Reshape<T>(ReadOnlyTensorSpan<T>, ReadOnlySpan<IntPtr>)

Modifica il tensore tensor al lengthsspecificato. Se una delle lunghezze è -1, verrà calcolata automaticamente. Non modifica la lunghezza della memoria sottostante né alloca nuova memoria. Se la nuova forma non è compatibile con la forma precedente, viene generata un'eccezione.

SequenceEqual<T>(ReadOnlyTensorSpan<T>, ReadOnlyTensorSpan<T>)

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

Squeeze<T>(ReadOnlyTensorSpan<T>)

Rimuove tutte le dimensioni di lunghezza 1 dalla tensor.

SqueezeDimension<T>(ReadOnlyTensorSpan<T>, Int32)

Rimuove l'asse di lunghezza 1 dalla tensor per il dimensionspecificato. Se la dimensione non è di lunghezza 1, genererà un'eccezione.

ToString<T>(ReadOnlyTensorSpan<T>, ReadOnlySpan<IntPtr>)

Crea una rappresentazione String del ReadOnlyTensorSpan<T>". />

TryBroadcastTo<T>(ReadOnlyTensorSpan<T>, TensorSpan<T>)

Trasmettere i dati da tensor alla forma broadcastable più piccola compatibile con destination e archiviarla in destination Se le forme non sono compatibili, viene restituito false.

Unsqueeze<T>(ReadOnlyTensorSpan<T>, Int32)

Inserire una nuova dimensione di lunghezza 1 che verrà visualizzata nella posizione della dimensione.

Si applica a